与往常一样,在Android中,每当屏幕翻转到纵向/横向模式时,Activity都会从onStroyInstanceState到onDestroy的生命周期运行,然后重新创建。切换屏幕方向时保存并恢复ButtonText
在我的Activity中有一个ButtonText可以被用户改变。它被复位到初始状态,但我必须以某种方式保存最后的状态。我如何实现这一点,我将不得不重写onSaveInstanceState?有人可以举个例子吗?
与往常一样,在Android中,每当屏幕翻转到纵向/横向模式时,Activity都会从onStroyInstanceState到onDestroy的生命周期运行,然后重新创建。切换屏幕方向时保存并恢复ButtonText
在我的Activity中有一个ButtonText可以被用户改变。它被复位到初始状态,但我必须以某种方式保存最后的状态。我如何实现这一点,我将不得不重写onSaveInstanceState?有人可以举个例子吗?
步骤#1:拨getText().toString()
Button
以获得标题。
步骤#2:致电putString()
将Bundle
传递给您的实施onSaveInstanceState()
来存储标题。
第3步:在Bundle
传递给你的执行onRestoreInstanceState()
电话getString()
(或onCreate()
,如果Bundle
不null
,如果你愿意的话),让您的标题后面,然后调用setText()
您Button
放添加字幕回来。
Here is a sample project使用onSaveInstanceState()
保存的联系人(这也影响了Button
是否被启用)的Uri
。
我有同样的问题,并期望默认实现将负责恢复按钮的文本。不幸的是,它没有。最后,我分别找到了属性android:freezesText和setFreezesText(boolean)方法。设置为true时,该按钮将自动恢复其文本。
见巴顿的超类的TextView的参考:http://developer.android.com/reference/android/widget/TextView.html#attr_android:freezesText
这个答案的作用,就像向你的按钮添加'“android:freezesText =”true“'一样简单,并且按钮文本保存在方向更改中 – 2014-10-15 07:49:50
这是昭然若揭,谢谢! :-) – cody 2010-11-07 22:23:45