当用户退出选项菜单时,我希望能够自动取消暂停我的应用。 (当然,除非他们选择暂停 ...)
处理它onOptionsMenuClosed
适用于顶级菜单但不会调用子菜单。似乎没有调用更高级别onPanelClosed
。
我可以检测他们何时进入菜单以及他们是否进行了选择,但是如果他们只是点击菜单按钮退出则不会。
我可以重写整个子菜单以使用对话框,但如果可以避免,我宁愿不这样做。
有人有任何建议吗?
答案 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
检查我的答案是否有类似的问题