1

我正在用 Mono for android实现IParcelable接口,这真是太棒了。我最近的问题是读取我写入包裹的值。字符串、整数等标准类型没有问题。我可以完美地写入和读取值。但是,当我尝试从我自己定义的类的列表中读取值时MyType

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

我收到以下错误

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

我猜这是因为默认的类加载器,它不知道列表中项目的类型。文档说明null用作ReadList的第二个参数的值使用默认的类加载器。我想使用指向我的类的自定义类加载器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 回答