当android中的屏幕方向发生变化时,警报框处于相同的状态

当android中的屏幕方向发生变化时,警报框处于相同的状态,android,alert,screen-orientation,Android,Alert,Screen Orientation,我的Android应用程序显示一个警报框。如果用户没有选择警报框中的按钮,我会更改屏幕方向,从而导致警报框消失。如何更改屏幕方向而不导致警报框消失?更改方向时,您的活动将被销毁,并再次调用onCreate 如果您不希望此行为,请覆盖OnConfiguration更改,或者甚至通过在清单文件中定义android:configChanges来覆盖此行为 或者,在onSaveInstanceState上保存对话框状态,并在onRestoreInstanceState上还原它,只需添加 android:

我的Android应用程序显示一个警报框。如果用户没有选择警报框中的按钮,我会更改屏幕方向,从而导致警报框消失。如何更改屏幕方向而不导致警报框消失?

更改方向时,您的活动将被销毁,并再次调用onCreate

如果您不希望此行为,请覆盖OnConfiguration更改,或者甚至通过在清单文件中定义android:configChanges来覆盖此行为

或者,在onSaveInstanceState上保存对话框状态,并在onRestoreInstanceState上还原它,只需添加

android:configChanges="keyboardHidden|orientation"
指向manifest.xml中从横向模式更改为纵向模式时不希望重新启动的每个活动的活动标记。这将导致操作系统重新生成布局,而不会在重新生成之前销毁布局。oncreate方法不会再次被调用,并且不会失去活动的状态。但是要小心,只有在纵向和横向模式下使用相同的布局文件时,这才有效

有关此主题的更多信息,请参见此