Я пытаюсь использовать 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));
}
Я получил сообщение об ошибке:
Вызвано: java .lang.RuntimeException: Parcel android .os. Parcel@e7a33b1: Неизвестный код неизвестного типа 7143535 по смещению 372
в этой строке кода:
secondChildCategories = in.readArrayList(SecondChildCategory.class.getClassLoader());