设备旋转后布局重新开始

15

我创建了一个简单的应用程序,包含两个按钮(启动和退出)和一个空的TextView。如果我点击启动按钮,TextView会更新。我的问题是,如果我旋转设备,我的布局将重新启动(如果已经点击启动按钮,TextView将再次变为空白)。为什么会这样?

3个回答

7
因为屏幕旋转后会重新创建活动。解决方法是在xml中为你的TextView添加android:id标签。

1
Android在设备旋转时会自动销毁活动并重新创建,以适应屏幕的新方向。

2
避免活动的销毁和重建是不可避免的,但您可以强制活动保持固定方向。或者在活动的saveInstanceState(Bundle)方法中保存所需内容,并稍后从通过onCreate(Bundle)传递给它的同一Bundle中检索它;或者使用restoreInstanceState()方法进行恢复。忽略onConfigChange()也是一个选择,但这是极不鼓励的。 - Niraj Adhikari
3
我发现只有一个帖子没有被踩,那就是Fisher的。有点可疑。 - Samuel
2
@Samuel 可能是因为他的回答是唯一正确的,而那些被踩的回答则是错误的? - Simon

-3
如果您不希望在屏幕方向更改时重新创建活动,则可以添加此行代码。
android:configChanges="orientation|keyboardHidden"

在 Android 的清单文件中为该 Activity 指定...

<activity android:name=".MyActivity"
          android:configChanges="orientation|keyboardHidden"
          android:label="@string/app_name">

这里放参考链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接