私のコードは次のようなものです:
@Override
public Parcelable onSaveInstanceState() {
Parcelable superState = super.onSaveInstanceState();
SavedState savedState = new SavedState(superState);
savedState.progress = mProgress;
return savedState;
}
@Override
public void onRestoreInstanceState(Parcelable state) {
SavedState savedState = (SavedState) state;
mProgress = savedState.progress;
super.onRestoreInstanceState(savedState.getSuperState());
}
in に渡すとmProgress
値は 60 になり、savedState
inonSaveInstanceState
で 0 になりonRestoreInstanceState
ます。
のコードを に変更すると、
savedState.mProgress = mProgress
でonSavedInstanceState
10savedState.mProgress = 10
になりonRestoreInstanceState
ます。
それはとても奇妙です。静的にするmProgress
と60になります。何が問題なのかわかりません。