私はAndroid用のMonoでIParcelableインターフェースを実装するのに大変な時間を過ごしています。私の最近の問題は、区画に書き込んだ値を読み取ることです。文字列、整数などの標準タイプは問題ありません。値の書き込みと読み取りを完全に行うことができます。しかし、自分で定義したクラスのリストから値を読み取ろうとすると、MyType
List<MyType> MyTypes;
...
parcel.ReadList(MyTypes, null);
次のエラーが発生します
Android.OS.BadParcelableException: ClassNotFoundException when unmarshalling: cinterface.MyType
これは、リスト内のアイテムのタイプを認識しないデフォルトのクラスローダーが原因だと思います。ドキュメントには、 ReadListnull
の2番目のパラメーターとして使用される値はデフォルトのクラスローダーを使用すると記載されています。クラスを指すカスタムクラスローダーを使用したいのですが、どうすればこれができるのかわかりません。どんな助けでも大歓迎です。cinterface.MyType
私が経験した(しかし運がない)同様の投稿はここにあります: