향상된 Intent
클래스를 생성하려고합니다. (나는 DataIntent
이라고 부릅니다.) Object 타입의 "payload"를 보유 할 수있는 능력을 부여합니다. Uri
님). DataIntent
은 Android의 Intent
클래스를 확장합니다.Intent 클래스 확장 중 ... received ClassCastException
내 Activity
은 문제없이 확장 된 개체를 만들고 startActivityForResult()
의 호출은 문제없이 작동합니다. 그러나, Activity
에서 getIntent()
메서드를 호출하고 DataIntent
으로 캐스팅하려고하면 ClassCastException
을 던질 것입니다.
나는 이것이 아마 아주 바보 같은 질문입니다 실현 - 사전에 1,000 appologies -하지만 난 DataIntent
에 캐스팅 할 수없는 이유는 새로운 Activity
를 시작하는 데 사용 된 무엇 때문에 아는 사람 않으며, DataIntent
는 Intent
의 자식 ?
DataIntent dataIntent = (DataIntent)getIntent();
// invoked inside the responding Activity instance - throws a ClassCastException
왜 그렇게 했습니까? http://developer.android.com/reference/android/content/Intent.html#putExtra(java.lang.String, android.os.Parcelable)을 알고 계신가요? –
Parcelable 인터페이스에서 멀리 떨어져 있기를 원합니다. 간단히 말해서 객체에 대한 참조 (단순히 직렬화 프로세스를 통해 탈수/재수 화)를 할당하는 것과 비교하여 불필요하게 "무겁습니다". – BonanzaDriver