我的代码是这样的:
@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并且我得到 0 in时,该mProgress
值为 60 。savedState
onSaveInstanceState
onRestoreInstanceState
如果我将代码修改为
,savedState.mProgress = mProgress
那么我在.onSavedInstanceState
savedState.mProgress = 10
onRestoreInstanceState
太奇怪了。如果我做mProgress
静态然后我得到60。我不知道怎么回事。