Вложенный объект 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();
}