旋转模拟器屏幕时,活动不会丢失其状态

时间:2011-01-28 13:15:15

标签: android

我创建了一个带有两个编辑框的布局。启动我的应用程序后,我在两个编辑框中输入一些文本,然后按7和9按钮旋转模拟器屏幕,我输入的文本仍然保留。但我从文档中读到,在屏幕方向改变时,如果我不保存状态,活动将重新启动并且数据将消失。

我是否做错了改变屏幕方向?我欢迎任何建议,因为我是Android的新手。

3 个答案:

答案 0 :(得分:2)

只要您为EditText提供唯一ID,Android就足够聪明地为您保留文字

引自Mark Murphy here

  

Android会自动处理   方向上的EditText的内容   如果您使用所有默认值,则更改   并拥有所有唯一ID标识的小部件。

Source

答案 1 :(得分:1)

您可以根据手机配置设置活动的行为, onConfigurationChanged(配置newConfig) 是列表工具,您可以通过它来设置手机的行为。 http://developer.android.com/reference/android/app/Activity.html#onConfigurationChanged(android.content.res.Configuration) 了解更多详情...

答案 2 :(得分:0)

当屏幕方向改变时,(通常)重新创建活动。但是,在销毁旧视图之前,将调用onSaveInstanceState方法,并在创建新视图后调用onRestoreInstanceState方法。这允许编辑框保存其旧内容,并在创建新活动后重新加载它。

如果您不想重新创建活动,请使用onConfigurationChanged监听器和android:configChanges属性。