0

私のコードは次のようなものです:

    @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 になり、savedStateinonSaveInstanceStateで 0 になりonRestoreInstanceStateます。

のコードを に変更すると、 savedState.mProgress = mProgressonSavedInstanceState10savedState.mProgress = 10になりonRestoreInstanceStateます。

それはとても奇妙です。静的にするmProgressと60になります。何が問題なのかわかりません。

4

1 に答える 1