出于某种原因,如果我在我的应用程序加载内容时长按我的菜单按钮,它就像我按下后退键一样停止。
我不希望菜单按钮的行为如此,所以我的问题是:
如何完全禁用菜单按钮?我不需要它在我的应用程序中我只想关闭它。
我试过了:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK){
onBackPressed();
}
if (keyCode == KeyEvent.KEYCODE_MENU){
return true;
}
else{
return super.onKeyDown(keyCode, event);
}
}
菜单按钮仍在工作......
任何帮助将不胜感激! 感谢。
答案 0 :(得分:10)
您必须返回true才能显示菜单;如果你返回false,它将不会显示。 所以我猜这会奏效:
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
.... .....
return false;
}
答案 1 :(得分:3)
您必须返回 false 。
@Override
public boolean onMenuOpened(final int featureId, final Menu menu) {
super.onMenuOpened(featureId, menu);
return false;
}
答案 2 :(得分:0)
我也必须禁用菜单按钮,我所做的是添加以下行:
public boolean dispatchKeyEvent(KeyEvent event) {
return true;
}
这基本上告诉操作系统所有按钮按下已经处理的位置,因此不采取任何措施。在onCreate方法之后添加它。
答案 3 :(得分:0)
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
return (keyCode == KeyEvent.KEYCODE_MENU ? true : super.onKeyDown(keyCode, event));
}
答案 4 :(得分:0)
你张贴的那个应该工作,
仍然尝试这个,它应该工作
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
final int keyCode = event.getKeyCode();
if (keyCode == KeyEvent.KEYCODE_MENU){
return true;
}
return super.onKeyDown(keyCode, event);
}