没有为子菜单调用android onOptionsMenuClosed

时间:2010-09-10 20:22:45

标签: android submenu

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

处理它onOptionsMenuClosed适用于顶级菜单但不会调用子菜单。似乎没有调用更高级别onPanelClosed

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

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

有人有任何建议吗?

3 个答案:

答案 0 :(得分:1)

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

你可以检查菜单是否在每个keydown的屏幕上。请记住其他按钮(返回,搜索和主页以及触摸屏幕的其他部分关闭菜单。)。使用其他按钮你可以处理它们但是家庭按钮和手指敲击不能覆盖。

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

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

答案 1 :(得分:0)

当检测到菜单按钮时,您可以覆盖onKeyDown并自己实现菜单。

答案 2 :(得分:0)

使用ActionBar.OnMenuVisibilityListener。在https://stackoverflow.com/a/32193927/4419474

检查我的答案是否有类似的问题