捆绑实例状态保存什么信息?

时间:2019-01-21 11:56:07

标签: android

我从文档中读到“默认情况下,系统使用Bundle实例状态在您的活动布局中保存有关每个View对象的信息(例如,输入到EditText小部件中的文本值)。”但是,当我旋转屏幕时,“按钮”中的文本恢复为我已经硬编码到XML中的字符串。

我正在关注本教程:https://codelabs.developers.google.com/codelabs/advanced-android-training-fragments/index.html?index=..%2F..advanced-android-training#4

有一次,它说要添加这段代码:

if (savedInstanceState != null) {
    isFragmentDisplayed = 
                     savedInstanceState.getBoolean(STATE_FRAGMENT);
    if (isFragmentDisplayed) {
        // If the fragment is displayed, change button to "close".
        mButton.setText(R.string.close);
    }
}

因此,似乎mButton的文本(以前已经设置为“关闭”)将恢复为xml中的“打开”状态。但是文档说这些信息已经“默认”保存在我的savedInstanceState中。那为什么当我删除代码行时:“ mButton.setText(R.string.close);”从上面的块中,我的mButton的文本实际上被还原了吗?

0 个答案:

没有答案