【问题标题】:Saving Android UI changes in onSaveInstanceState在 onSaveInstanceState 中保存 Android UI 更改
【发布时间】:2014-08-13 04:44:44
【问题描述】:

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

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

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

【问题讨论】:

标签: android


【解决方案1】:

TextView 上使用android:freezesText 属性。

【讨论】:

  • 啊。我没有想到 TextView 不会包含在这个函数中,因为它说几乎每个小部件都实现了这个方法。谢谢,它现在正在工作。我会在 2 分钟内接受这个,哈哈
  • 是的,在我看来真的很奇怪!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 1970-01-01
相关资源
最近更新 更多