1

私はAndroid用のMonoでIParcelableインターフェースを実装するのに大変な時間を過ごしています。私の最近の問題は、区画に書き込んだ値を読み取ることです。文字列、整数などの標準タイプは問題ありません。値の書き込みと読み取りを完全に行うことができます。しかし、自分で定義したクラスのリストから値を読み取ろうとすると、MyType

List<MyType> MyTypes;
...
parcel.ReadList(MyTypes, null);

次のエラーが発生します

Android.OS.BadParcelableException: ClassNotFoundException when unmarshalling: cinterface.MyType

これは、リスト内のアイテムのタイプを認識しないデフォルトのクラスローダーが原因だと思います。ドキュメントには、 ReadListnullの2番目のパラメーターとして使用される値はデフォルトのクラスローダーを使用すると記載されています。クラスを指すカスタムクラスローダーを使用したいのですが、どうすればこれができるのかわかりません。どんな助けでも大歓迎です。cinterface.MyType

私が経験した(しかし運がない)同様の投稿はここにあります:

  1. android.os.BadParcelableException:アンマーシャリング時のClassNotFoundException:例外
  2. BadParcelableException:アンマーシャリング時のClassNotFoundException :(空のクラス名)
  3. BadParcelableException:アンマーシャリング時のClassNotFoundException
4

1 に答える 1

0

ここでXamarinsの公式サンプルを見てください:https ://github.com/xamarin/monodroid-samples/blob/master/ExportAttribute/ExportAttributeTest/MainActivity.cs実装方法を示していますIParcelable

于 2013-01-29T23:22:01.213 に答える