拦截菜单点击事件

4

如何拦截设备菜单按钮的点击(例如手机)。 我需要类似于 OnMenuClick()的东西。

4个回答

3
我自己解决了,就像这样
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {

    if ((keyCode == KeyEvent.KEYCODE_MENU||keyCode == KeyEvent.KEYCODE_BACK) && event.getRepeatCount() == 0) {

        // my code here...        
    }
}

0

你需要实现两件事情。

  1. onCreateOptionsMenu()
  2. onOptionMenuItemClick()。

所有的点击事件都将来到这两个函数中。

示例在这里


已修改答案,请检查。 - Vinay

0

您可以使用 onMenuOpened() 来处理菜单打开的情况。


我尝试过了,但什么也没发生。 ' @Override public boolean onMenuOpened(int featureId, Menu menu) { TextView text= (TextView)findViewById(R.id.textView1); text.setText("你点击了菜单按钮"); return false;}' - Vervatovskis
当用户打开面板的菜单时,将调用onMenuOpened()。当您单击菜单按钮时,会打开面板的菜单,但在其他情况下也会打开它。我不知道这是否是您正在寻找的内容。 - vicentazo

0

实现

onPrepareOptionsMenu(Menu menu)

每次点击菜单按钮时都会调用它


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接