编写/读取Parcelable对象的ArrayList

时间:2016-04-18 21:00:39

标签: java android oop parcelable

我有一个名为ClassA的类,其中包含ListClassB个对象。这两个类都实现了Parcelable

我正在尝试在ClassA中为此列表创建读/写方法并遇到问题。例如,我试过:

@Override
public void writeToParcel(Parcel dest, int flags) {
    dest.writeList(mClassBList);
}

但是

private ClassA(Parcel in) { 
    mClassBList = in.readList();
}

抛出错误,因为它需要所有这些额外的参数。

如何正确读/写List

1 个答案:

答案 0 :(得分:1)

George和buczek建议的链接对您的情况非常有帮助。 也许更直接,你需要做这样的事情:

//Supposing you declared mClassBList as:
List<ClassB> mClassBList = new ArrayList<ClassB>(); 
in.readTypedList(mClassBList, ClassB.CREATOR);

我仍然建议你查看答案,特别是(按照Buczek的建议)How to pass a parcelable object that contains a list of objects?