检测到第二次按下菜单按钮

时间:2012-01-27 16:54:24

标签: android

我希望在屏幕上显示菜单时设置我的代码中的某个标志。我尝试在onKeyDown中捕获keyCode == KeyEvent.KEYCODE_MENU事件以检测菜单何时出现 - 但是如果第二次按下菜单按钮(使菜单消失),则没有keyCode == KeyEvent.KEYCODE_MENU事件。

我应该寻找其他一些事件,还是有功能来测试某种菜单是否显示?

1 个答案:

答案 0 :(得分:2)

要捕捉正在打开的菜单,您可以覆盖

public boolean onPrepareOptionsMenu(Menu menu)

要捕捉正在关闭的菜单,您可以覆盖

public void onOptionsMenuClosed(Menu menu)

但是请记住,当用户第二次按下“菜单”按钮或点击其中一个菜单选项时,将同时调用第二个。因此,您需要将其与

结合使用
public boolean onOptionsItemSelected(MenuItem item)