gpt4 book ai didi

java 包裹@e7a33b1 : Unmarshalling unknown type of arraylist

转载 作者:行者123 更新时间:2023-12-02 09:05:49 25 4
gpt4 key购买 nike

我正在尝试使用Parcelable在android中传递数据,但是当我以正确的类型使用它时,我在这一行中遇到了错误,我不知道我在这里错过了什么。

这是在打包时出现问题的对象:

ArrayList<SecondChildCategory> secondChildCategories;
public ArrayList<SecondChildCategory> getSecondChildCategories() {
return secondChildCategories;
}

public void setSecondChildCategories(ArrayList<SecondChildCategory> secondChildCategories) {
this.secondChildCategories = secondChildCategories;
}

这里是用于读取数据的包裹构造函数:

protected ChildCategory(Parcel in) {
if (in.readByte() == 0) {
id = null;
} else {
id = in.readInt();
}
image = in.readString();
softDelete = in.readString();
if (in.readByte() == 0) {
productCategoryId = 0;
} else {
productCategoryId = in.readInt();
}
createdAt = in.readString();
updatedAt = in.readString();
parentCategoryID = in.readString();
backgroundColor = in.readString();
name = in.readString();
secondChildCategories = in.readArrayList(SecondChildCategory.class.getClassLoader()); // error reported here
hasChild = in.readByte() != 0;

}

我是这样写的:

@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeInt(id);
parcel.writeString(image);
parcel.writeString(softDelete);
parcel.writeInt(productCategoryId);
parcel.writeString(createdAt);
parcel.writeString(updatedAt);
parcel.writeString(parentCategoryID);
parcel.writeString(backgroundColor);
parcel.writeString(name);
parcel.writeList(secondChildCategories);
parcel.writeByte((byte) (hasChild ? 1 : 0));

}

我收到一个错误:

Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@e7a33b1: Unmarshalling unknown type code 7143535 at offset 372

在这行代码上:

secondChildCategories = in.readArrayList(SecondChildCategory.class.getClassLoader());

最佳答案

您应该使用其他方法来写入和读取Parcelable列表:

  1. 使用writeTypedList用于写入Parcel

    parcel.writeTypedList(secondChildCategories);

  2. 使用createTypedArrayList用于从 Parcel 读取(或者可以使用 readTypedList)

    secondChildCategories = in.createTypedArrayList(SecondChildCategory.CREATOR);

希望有帮助。

关于java 包裹@e7a33b1 : Unmarshalling unknown type of arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59820264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com