我有一个名为ClassA
的类,其中包含List
个ClassB
个对象。这两个类都实现了Parcelable
。
我正在尝试在ClassA
中为此列表创建读/写方法并遇到问题。例如,我试过:
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeList(mClassBList);
}
但是
private ClassA(Parcel in) {
mClassBList = in.readList();
}
抛出错误,因为它需要所有这些额外的参数。
如何正确读/写List
?
答案 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?