我有一个扩展Parcelable的类,我们称之为A类。
我有另一个扩展Parcelable的类,我们称之为B类。
A的一个成员变量是B类对象的ArrayList。
我正在尝试编写Parcelable覆盖,但无法弄清楚如何保存和读取B类的ArrayList。
有读取和写入ArrayLists的方法,但是它们需要一个ClassLoader参数,我不熟悉它。我还可以将ArrayList复制到一个数组中,并使用方法来读取和写入一个Parcelable数组,但这也需要一个ClassLoader参数。
更新
看起来像是
in.readTypedList(mList, ClassB.CREATOR);
和
out.writeTypedList(mList);
是我在找什么?
答案 0 :(得分:2)
您可以将null
传递为ClassLoader
以使用默认值。
Parcel.readTypedList()
和Parcel.writeTypedList()
似乎没问题。或者您可以使用Parcel.readParcelableArray()
和Parcel.writeParcelableArray()
并将列表转换为数组。