我有一个名为ClassA的类,其中包含List个对象的ClassB。这两个类均实现Parcelable

我正在尝试在ClassA中为此列表创建读取/写入方法,并且遇到了麻烦。例如,我尝试过:

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


但是之后

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


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

如何正确读取/写入此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?

关于java - 写入/读取可包裹对象的ArrayList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36704203/

10-09 07:46