Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在设备';s旋转_Java_Android_Layout_Rotation - Fatal编程技术网

Java 在设备';s旋转

Java 在设备';s旋转,java,android,layout,rotation,Java,Android,Layout,Rotation,我用两个按钮(开始和退出)和一个空文本视图做了一个简单的应用程序。如果我按下开始按钮,文本视图将被更新。我的问题是,如果我旋转设备,我的布局将重新启动(如果按下开始键,文本视图将再次变为空。为什么?当设备旋转时,Android会自动销毁该活动并重新创建它,使其适应屏幕的新方向。这是因为活动在屏幕旋转后重新创建。简单的修复方法是在xml中将Android:id添加到文本视图中 如果您不希望活动在方向更改时重新创建,可以添加此行 android:configChanges="orientation|

我用两个按钮(开始和退出)和一个空文本视图做了一个简单的应用程序。如果我按下开始按钮,文本视图将被更新。我的问题是,如果我旋转设备,我的布局将重新启动(如果按下开始键,文本视图将再次变为空。为什么?

当设备旋转时,Android会自动销毁该活动并重新创建它,使其适应屏幕的新方向。

这是因为活动在屏幕旋转后重新创建。简单的修复方法是在xml中将
Android:id
添加到
文本视图中

如果您不希望活动在方向更改时重新创建,可以添加此行

android:configChanges="orientation|keyboardHidden"
在Android manifet中,用于该活动。。 例如:-


避免活动的破坏和重新创建是不可避免的,但您可以做的是强制活动保持固定的方向。或者将您需要的内容保存在活动的saveInstanceState(Bundle)方法中,然后从通过onCreate(Bundle)传递给它的同一个Bundle中退出;或者restoreInstanceState();另外,输入onConfigChange()也是一个选项,但非常不鼓励。我注意到只有一个帖子没有被否决,那就是fishers。Fishy。@可能是因为他的答案是唯一正确的,而被否决的帖子则完全错了?
<activity android:name=".MyActivity"
          android:configChanges="orientation|keyboardHidden"
          android:label="@string/app_name">