Вложенный объект parcelable не читается
Я пытаюсь передать объект, который содержит некоторые переменные string/int и переменную объекта. Строки и int работают, но не вложенный объект. Я понимаю, что мне пришлось бы это также parcelable, но я, по-видимому, делаю что-то неправильно=. В моем вложенном классе writeToParcel
вызывается метод (я проверяю с помощью Log.d()
звонок), но createFromParcel()
не делает. Я в конечном итоге получаю
1 ответов
я решил это, изменив порядок, в котором я пишу/читаю из посылки. Я сделал dest.writeParcelable(otherClass, flags);
и otherClass = (OtherClass) in.readParcelable(OtherClass.class.getClassLoader());
вызовы должны быть первыми в своих методах, и он начал работать. Это проблема?
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(otherClass, flags);
dest.writeString(name);
dest.writeInt(id);
}
private MyClass(Parcel in) {
otherClass = (OtherClass) in.readParcelable(OtherClass.class.getClassLoader());
name = in.readString();
id = in.readInt();
}