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