我有一个活动就是onCreate方法:
registerForContextMenu(theView);
并在onCreateContextMenu中:
super.onCreateContextMenu(menu,v,menuInfo); menu.add(blablabla);
这很好用,但问题是当屏幕旋转时上下文菜单消失.
如何解决这个问题?
谢谢阅读!
解决方法
这是解决方案:
contextMenu消失了,因为在默认情况下旋转android调用destroy()然后onCreate()但是:
如果你不希望Android通过正常的活动破坏和重新创建过程;相反,您想要自己处理重新创建视图,您可以在AndroidManifest.xml中的元素上使用android:configChanges属性.
<activity android:name=".SmsPopupActivity" android:theme="@android:style/Theme.Dialog" android:launchMode="singleTask" android:configChanges="orientation|keyboardHidden" android:taskAffinity="net.everythingandroid.smspopup.popup"> </activity>
这样,当我的手机旋转时,我的contextMenu没有关闭,因为没有调用onCreate()方法.
也可以看看:
> Developing Orientation-Aware Android Applications
> activity-restart-on-rotation-android