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