Android – 以编程方式select菜单选项

有没有办法以编程方式select一个菜单选项? 基本上,我想要一个视图中的button执行与按特定的菜单选项相同的操作。 我正在考虑尝试调用onptionstemplate(MenuItem项目),但我不知道该怎么把菜单项。

为什么你没有两个UI事件调用一个常用的方法?

是的,有一种方法可以select一个菜单选项! 你正确地调用onOptionsItemSelected(MenuItem项)这里是得到MenuItem的方法:

1)你需要做的第一件事就是在你的Activity里面的Menu类的引用:

private Menu menu; @Override public boolean onCreateOptionsMenu(final Menu menu) { this.menu = menu; return super.onCreateOptionMenu(menu); } 

2)所以基本上,菜单类包含所有的菜单项。 所以一旦你有这个参考,你模拟菜单点击这样:

 onOptionsItemSelected(menu.findItem(R.id.action_id)); 

…其中action_id是您要select的菜单项的ID。 你可以在你的菜单xml中find这个id。

我也在寻找这个。 尽pipe调用项目被检查时使用的方法是有意义的,但是不会在UI中将菜单项设置为被选中。

所以我最终做的是:

 NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); MenuItem menuItem = (MenuItem)navigationView.getMenu().findItem(R.id.nav_menu_item_1); menuItem.setChecked(true); onNavigationItemSelected(menuItem); 

以下不符合我的要求:

onOptionsItemSelected(menu.findItem(R.id.action_id));