将列表写入Parcelable?

时间:2016-05-16 14:36:27

标签: java android list parcelable

我有一个private List<AnotherCustomObject> mList;的自定义对象。请注意AnotherCustomObject实现了Parcelable

但是,如果我想在mList中将dest写入writeToParcel(),然后稍后再阅读,这是正确的方法:

dest.writeList(mList);

然后在read方法中

in.readList(mList, ClassLoader.getSystemClassLoader());

正确?

2 个答案:

答案 0 :(得分:0)

请尝试使用必要的类加载器。

in.readList(mList, AnotherCustomObject.getClass().getClassLoader());

答案 1 :(得分:0)

您的List<AnotherCustomObject> mList可以使用readTypedList(List<T> list, Creator<T> c)方法阅读,并使用writeTypedList(List<T> val)方法写入。

writeToParcel方法中,您可以编写以下内容:

dest.writeTypedList(mList);

然后在构造函数中创建一个Parcel对象的实例,你可以放置:

in.readTypedList(mList, AnotherCustomObject.CREATOR);