每次屏幕方向更改时,Android选项菜单都会关闭

时间:2011-04-18 16:54:05

标签: android contextmenu orientation

出于某种原因,每次更改屏幕方向时,我的应用程序会关闭上下文菜单(如果已打开)。我看到的所有应用程序在旋转屏幕后都会打开菜单,但我无法弄清楚为什么我的应用程序正在关闭它们。

我没有处理我自己的配置更改和我的onCreate方法,我知道在每次方向更改后都会调用它,根本不会触摸菜单。我很感激有关这个问题的任何见解。

1 个答案:

答案 0 :(得分:1)

contextMenu消失了,因为在默认情况下旋转android调用destroy()然后onCreate()但是:

如果您不希望Android通过正常活动销毁和重新创建过程;相反,你想要自己处理重新创建视图,你可以在AndroidManifest.xml中的元素上使用android:configChanges属性。

<activity
    android:name=".MainActivity"
    android:launchMode="singleTask"
    android:configChanges="orientation|keyboardHidden">
</activity>

这样,当手机旋转时,contextMenu不会关闭,因为不会调用onCreate()方法。

此主题也很有帮助 - Activity restart on rotation Android