android – 在屏幕旋转后保持上下文菜单

我有一个活动就是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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...