出于某种原因,每次更改屏幕方向时,我的应用程序会关闭上下文菜单(如果已打开)。我看到的所有应用程序在旋转屏幕后都会打开菜单,但我无法弄清楚为什么我的应用程序正在关闭它们。
我没有处理我自己的配置更改和我的onCreate方法,我知道在每次方向更改后都会调用它,根本不会触摸菜单。我很感激有关这个问题的任何见解。
答案 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