で注釈が付けられた抽象クラスがあり@Parcel
ます。具体的なサブクラスMyMovie
がありますが、注釈は付けられていません。
MyMovie
args バンドルに渡すことで、フラグメントを正常に作成できます。パーセルブルのラッピングとアンラッピングの両方について、すべて問題MyMovie
ありません。
たとえば、ホームボタンを押してフラグメントを離れようとすると、問題が発生します。スタック トレースは次のとおりです。
09-14 16:39:33.688 29389-29389/com.example.myapp E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.myapp, PID: 29389
org.parceler.ParcelerRuntimeException: Unable to find generated Parcelable class for com.example.myapp.MyMovie, verify that your class is configured properly and that the Parcelable class com.example.myapp.MyMovie$$Parcelable is generated by Parceler.
at org.parceler.Parcels$ParcelCodeRepository.get(Parcels.java:201)
at org.parceler.Parcels.wrap(Parcels.java:85)
at org.parceler.Parcels.wrap(Parcels.java:69)
at org.parceler.NonParcelRepository$ListParcelable$1.itemToParcel(NonParcelRepository.java:280)
at org.parceler.converter.CollectionParcelConverter.toParcel(CollectionParcelConverter.java:38)
at org.parceler.converter.CollectionParcelConverter.toParcel(CollectionParcelConverter.java:27)
at org.parceler.NonParcelRepository$ConverterParcelable.writeToParcel(NonParcelRepository.java:1222)
at org.parceler.NonParcelRepository$ListParcelable.writeToParcel(NonParcelRepository.java:269)
at android.os.Parcel.writeParcelable(Parcel.java:1285)
at android.os.Parcel.writeValue(Parcel.java:1204)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:618)
at android.os.Bundle.writeToParcel(Bundle.java:1692)
at android.os.Parcel.writeBundle(Parcel.java:636)
at android.support.v4.app.FragmentState.writeToParcel(Fragment.java:137)
at android.os.Parcel.writeTypedArray(Parcel.java:1133)
at android.support.v4.app.FragmentManagerState.writeToParcel(FragmentManager.java:384)
at android.os.Parcel.writeParcelable(Parcel.java:1285)
at android.os.Parcel.writeValue(Parcel.java:1204)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:618)
at android.os.Bundle.writeToParcel(Bundle.java:1692)
at android.os.Parcel.writeBundle(Parcel.java:636)
at android.support.v4.app.FragmentState.writeToParcel(Fragment.java:138)
at android.os.Parcel.writeTypedArray(Parcel.java:1133)
at android.support.v4.app.FragmentManagerState.writeToParcel(FragmentManager.java:384)
at android.os.Parcel.writeParcelable(Parcel.java:1285)
at android.os.Parcel.writeValue(Parcel.java:1204)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:618)
at android.os.Bundle.writeToParcel(Bundle.java:1692)
at android.os.Parcel.writeBundle(Parcel.java:636)
at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:2526)
at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3112)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
at dalvik.system.NativeStart.main(Native Method)
これがParceler
私の app-levelに含める方法ですbuild.gradle
:
compile 'org.parceler:parceler-api:1.1.1'
助けてくれてありがとう。