0

我正在阅读ProgressBar源代码并达到onSaveInstanceState

public Parcelable onSaveInstanceState() {
    // Force our ancestor class to save its state
    Parcelable superState = super.onSaveInstanceState();
    SavedState ss = new SavedState(superState);

    ss.progress = mProgress;
    ss.secondaryProgress = mSecondaryProgress;

    return ss;
}

可以看出,只保存了progressandsecondaryProgress字段,那么用户可以设置的所有其他字段会发生什么,例如max?为什么他们也没有得救?

4

1 回答 1

2

用户不能android:max直接通过小部件进行设置。

一般来说,onSaveInstanceState()倾向于担心用户可变状态,例如是否CompoundButton检查 a ,或者在运行时由于用户操作而极有可能发生变化的状态,例如 a 的进度状态ProgressBar

当然,欢迎您ProgressBar使用onSaveInstanceState()保存您想要的其他数据的 subclass 或 fork ,或者让您的活动或片段在其实现中保存数据onSaveInstanceState()

于 2012-12-22T17:31:50.053 回答