扩展Parcelable以读取另一个Parcelable

时间:2011-08-25 20:16:24

标签: android parcelable

我有一个扩展Parcelable的类,我们称之为A类。

我有另一个扩展Parcelable的类,我们称之为B类。

A的一个成员变量是B类对象的ArrayList。

我正在尝试编写Parcelable覆盖,但无法弄清楚如何保存和读取B类的ArrayList。

有读取和写入ArrayLists的方法,但是它们需要一个ClassLoader参数,我不熟悉它。我还可以将ArrayList复制到一个数组中,并使用方法来读取和写入一个Parcelable数组,但这也需要一个ClassLoader参数。

更新

看起来像是

in.readTypedList(mList, ClassB.CREATOR);

out.writeTypedList(mList);

是我在找什么?

1 个答案:

答案 0 :(得分:2)

您可以将null传递为ClassLoader以使用默认值。

Parcel.readTypedList()Parcel.writeTypedList()似乎没问题。或者您可以使用Parcel.readParcelableArray()Parcel.writeParcelableArray()并将列表转换为数组。