子菜单未调用 android onOptionsMenuClosed

标签 android submenu

我希望能够在用户退出选项菜单时自动取消暂停我的应用程序。 (当然,除非他们选择了暂停...)

处理 onOptionsMenuClosed 对顶级菜单工作正常,但不会为子菜单调用。更高级别的 onPanelClosed 似乎也没有被调用。

我可以检测到他们何时进入菜单以及他们是否进行了选择,但如果他们只是点击菜单按钮退出则无法检测到。

我可以重写整个子菜单以使用对话框,但如果可以避免,我宁愿不这样做。

有人有什么建议吗?

最佳答案

您可以覆盖 onkeydown ,设置一个标志来检查菜单是否显示,然后返回 super.onKeyDown(keyCode, event); .

您可以在每次按下按键时检查菜单是否在屏幕上。请记住其他按钮(返回、搜索和主页并触摸屏幕的其他部分会关闭菜单。)。使用其他按钮您可以处理它们但是无法覆盖主页按钮和手指点击。

如果我是你,我会为此忘记 onkeydown 选项的@override

但是你可以有 6 个菜单按钮,第 6 个称为“更多”,这可以创建一个自定义对话框,其中包含你可以处理的更多选项

关于子菜单未调用 android onOptionsMenuClosed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3688077/

相关文章:

java - XMPP XEP-0313 Smack Android 获取所有花名册成员的最新消息

android 列出 sd 卡上的音频并播放

html - 居中子菜单 CSS 和 HTML

javascript - 我如何使用 css 中的可见性属性使我的子菜单出现和重新出现?

html - 隐藏在标题 n 内容中的导航菜单下拉菜单

html - 如何在导航子菜单中创建三列

android 可扩展菜单(隐藏/取消隐藏菜单)

android - 如何在 Android 中通过 ViewModel 类在 Activity 和 Fragment 之间共享数据?

android - 即使在使用 return 语句或完成调用后 Activity 也没有完成

android - 图库中的图像未更新