在onSaveInstanceState中保存Android UI更改

时间:2014-08-13 04:44:45

标签: android

我已经阅读了有关此问题的所有其他问题,但似乎没有人回答我的问题。我知道如何使用onSaveInstanceState保存变量,但在阅读文档时,我遇到了这个:

  

但是,即使您不执行任何操作并且未实现onSaveInstanceState(),Activity类的默认实现onSaveInstanceState()也会恢复某些活动状态。具体来说,默认实现为布局中的每个View调用相应的onSaveInstanceState()方法,这允许每个视图提供有关应保存的自身的信息。几乎Android框架中的每个窗口小部件都会适当地实现此方法,以便在重新创建活动时自动保存和恢复对UI的任何可见更改。例如,EditText小部件保存用户输入的任何文本,CheckBox小部件保存是否已选中。您需要的唯一工作是为要保存其状态的每个小部件提供唯一的ID(带有android:id属性)。如果窗口小部件没有ID,则系统无法保存其状态。

我查看了我的代码。我的所有TextView都有一个唯一的ID,在保存任何其他变量之前,我在方法中调用了super.onSavedInstanceState。但是,当我更改方向时,我的所有TextView都变为空白。有什么理由吗?

1 个答案:

答案 0 :(得分:1)

使用TextView上的android:freezesText属性。