0

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

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

4

2 回答 2

4

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

查看Button的超类TextView的参考:http: //developer.android.com/reference/android/widget/TextView.html#attr_android :freezesText

于 2013-05-14T21:05:25.693 回答
1

步骤#1:调用getText().toString()Button获取标题。

步骤#2:调用putString()传递Bundle给你的实现onSaveInstanceState()来存储标题。

步骤#3:调用getString()传递Bundle给你的实现onRestoreInstanceState()(或者 in onCreate(),如果Bundle不是null,如果你愿意)来取回你的标题,然后调用setText()Button把标题放回去。

这是一个示例项目,用于onSaveInstanceState()保存Uri联系人的 a (这也会影响 aButton是否启用)。

于 2010-11-07T13:36:11.233 回答