我在操作栏中添加了一个按钮,它工作正常,但如果我按下物理菜单按钮,菜单会显示action_settings。相反,我想只使用ActionBar中的菜单,而不是物理菜单按钮的菜单。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
getActivity().getMenuInflater().inflate(R.menu.menu_scegli, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add_c:
Intent intent = null;
intent = new Intent(getActivity(), Inserisci_.class);
startActivity(intent);
return true;
case R.id.action_settings:
return false;
default:
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:1)
您可以尝试在活动中覆盖onKeyDown
方法,并在按下菜单键时返回true
- 这将有效防止Android在内部处理菜单键:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_MENU) {
return true;
}
else {
return false;
}
}