2016-08-12 12 views
0

マイクラスPhotosListを非整列化時にクラスが見つかりませんこのエラーがあります:アンドロイド:java.lang.ClassNotFoundExceptionが

Class not found when unmarshalling: com.xxx.model.PhotosList java.lang.ClassNotFoundException: com.xxx.model.PhotosList at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:324) at android.os.Parcel.readParcelableCreator(Parcel.java:2404) at android.os.Parcel.readParcelable(Parcel.java:2358) at android.os.Parcel.readValue(Parcel.java:2264) at android.os.Parcel.readArrayMapInternal(Parcel.java:2614) at android.os.BaseBundle.unparcel(BaseBundle.java:221) at android.os.BaseBundle.getString(BaseBundle.java:920) at android.content.Intent.getStringExtra(Intent.java:6183) at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2707) at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2169) at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6322) at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6100) at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170) at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3990) at android.os.Binder.execTransact(Binder.java:453) Caused by: java.lang.ClassNotFoundException: com.xxx.model.PhotosList at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at java.lang.Class.classForName(Native Method)  at java.lang.Class.forName(Class.java:324)  at android.os.Parcel.readParcelableCreator(Parcel.java:2404)  at android.os.Parcel.readParcelable(Parcel.java:2358)  at android.os.Parcel.readValue(Parcel.java:2264)  at android.os.Parcel.readArrayMapInternal(Parcel.java:2614)  at android.os.BaseBundle.unparcel(BaseBundle.java:221)  at android.os.BaseBundle.getString(BaseBundle.java:920)  at android.content.Intent.getStringExtra(Intent.java:6183)  at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2707)  at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2169)  at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6322)  at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6100)  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170)  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3990)  at android.os.Binder.execTransact(Binder.java:453)  Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

私はそのようなphotolistオブジェクトを取り戻す

getIntent().setExtrasClassLoader(PhotosList.class.getClassLoader()); 
     PhotosList photosList = bundle.getParcelable(BUNDLE_KEY_PHOTOS); 
+1

カスタム 'Parcelable'オブジェクトは動作しない場合もあります。基本的に、外国のプロセスはクラスにアクセスできないため、それらのクラスでは使用できません。 [このブログの投稿](https://commonsware.com/blog/2016/07/22/be-careful-where-you-use-custom-parcelables.html)を参照してください。 'bundle'がどこから来ているのか、どこでクラッシュが起こっているのかは不明です。 – CommonsWare

答えて

0

あなたはこの記事を参照してくださいは、「Parcelable、スピードキング」で始まる読みください。 describeContents()が不足していて、内部クラスの宣言がParcelable.Creator<ParcelableDeveloper> CREATOR

+0

いいえ、私はこの投稿にこれらの要素を追加しませんでした。私の実際のコードでは、これらの要素があります。 – anthony

+0

コードを編集して、利用可能な最高のサポートを受けるための実装を表示してください。 – apelsoczi

関連する問題