切换屏幕方向时保存并恢复ButtonText

时间:2010-11-07 12:25:19

标签: android save orientation state flip

像往常一样在android中,每次将屏幕翻转为纵向/横向模式时,Activity都会从onSaveInstanceState到onDestroy运行生命周期,然后重新创建。

在我的Activity中有一个ButtonText,可由用户更改。它重置为初始状态,但我必须以某种方式保存最后一个状态。我怎样才能实现这一点,我是否必须覆盖onSaveInstanceState?有人可以举个例子吗?

2 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,并且预计默认实现会处理恢复按钮的文本。不幸的是它没有。最后我分别找到了属性android:freezesText方法setFreezesText(boolean)。设置为true时,按钮将自动恢复其文本。

参见Button的超类TextView的引用:http://developer.android.com/reference/android/widget/TextView.html#attr_android:freezesText

答案 1 :(得分:1)

步骤1:致电getText().toString()上的Button以获取标题。

步骤2:致电putString()上的Bundle致电onSaveInstanceState()以执行getString()以存储标题。

步骤3:如果Bundle不是{{onRestoreInstanceState(),请致onCreate()传递给您Bundle的实施(或null} 1}},如果您愿意)重新获取标题,请拨打setText()上的Button以重新设置标题。

Here is a sample project使用onSaveInstanceState()保存联系人Uri(这也会影响Button是否已启用)。