状態を保存するカスタム ビューを作成しようとしています。回転しようとすると、onSaveInstanceState が呼び出されましたが、writeToParcel は呼び出されませんでした。
これは onSaveInstanceState です:
@Override
public Parcelable onSaveInstanceState()
{
Logger.d("On Save Instance State");
Parcelable superState = super.onSaveInstanceState();
PictureItemState pis = new PictureItemState(superState);
for (PictureItem item : mImageList)
{
if (!item.isButton)
{
pis.mUriList.add(item.uri.toString());
pis.mIndexList.add(item.index);
}
}
return pis;
}
そして、これは writeToParcel を実装する状態クラスです:
static class PictureItemState extends BaseSavedState
{
...
@Override
public void writeToParcel(Parcel dest, int flags)
{
super.writeToParcel(dest, flags);
Logger.d("Write to parcel");
int size = mUriList.size();
dest.writeInt(size);
for (int i = 0; i < size; i++)
{
dest.writeString(mUriList.get(i));
dest.writeInt(mIndexList.get(i));
}
}
...
}