微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐