有没有办法以编程方式选择菜单选项?基本上,我想要一个视图中的按钮执行与按特定菜单选项相同的操作。我正在考虑尝试调用onOptionsItemSelected(MenuItem项目),但我不知道要为菜单项放置什么。Android - 以编程方式选择菜单选项
9
A
回答
13
为什么你没有两个UI事件调用一个常用的方法?
15
是的,有一种方法可以选择一个菜单选项!你是对有关调用onOptionsItemSelected(菜单项项)这里是获得菜单项的方式:
1)你需要做的第一件事就是让你的活动在这里里面的菜单类的引用:
private Menu menu;
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
this.menu = menu;
return super.onCreateOptionMenu(menu);
}
2)所以基本上,Menu类包含所有菜单项。所以一旦你有这样的参考,您可以模拟菜单中单击像这样:
onOptionsItemSelected(menu.findItem(R.id.action_id));
...其中的action_id是你要选择的菜单项的ID。你可以在你的菜单xml中找到这个id。
0
我也在寻找这个。尽管调用项目被检查时使用的方法是有意义的,但它不会将菜单项设置为在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));
相关问题
- 1. Android - 以编程方式选择一个菜单选项
- 2. android:以编程方式更改选项菜单项
- 3. UITableView以编程方式选择选项
- 4. 侧边菜单,以编程方式隐藏菜单选项
- 5. 选择项目以编程方式UICollectionView
- 6. NSMenu以编程方式选择项目
- 7. 以编程方式从Excel下拉菜单中选择
- 8. 以编程方式检索上下文菜单的选择
- 9. 以编程方式预先选择下拉菜单
- 10. 以编程方式关闭选项菜单
- 11. 如何以编程方式打开选项菜单?
- 12. 如何以编程方式更改选项菜单的子项目选择颜色?
- 13. 以编程方式更改核心菜单/核心子菜单的选择
- 14. 添加新选项以选择菜单
- 15. 如何以编程方式选择Windows中的弹出菜单项?
- 16. jQuery - 单击链接以选择一个选择菜单选项
- 17. Python选择菜单选项
- 18. 编程方式选择的MD-选择选项
- 19. 以编程方式在IE中选择选项
- 20. 以编程方式选择AngularJS Typeahead选项
- 21. 以编程方式选择并加载jquery选项卡
- 22. UITabbar以编程方式选择选项卡并执行消息
- 23. 以编程方式选择新创建的选项与jQuery?
- 24. 如何以编程方式选择Angular UI上的选项卡?
- 25. 以编程方式在AJAX中选择选项Select2
- 26. 以编程方式更改选择选项事件
- 27. 以编程方式选择下拉选项
- 28. 以编程方式编辑grub选项
- 29. 添加快捷方式以编程方式添加系统菜单选项
- 30. 记住选择菜单选项选项
最简单的答案往往是最好的;)+1 – Squonk
我在onOptionsItemSelected()的所有,我宁愿不分裂的菜单项一些共享代码。我只是希望有一个简单的方法来调用菜单选项。 – dt0
@ dt0总有一种方法可以重构代码并使其变得干干净净,特别是如果它是您自己的代码。如果共享代码是一堆运行时变量,那么也许你可以使用一个将所有代码都包含在一个地方的结构。如果它是功能性的东西,也许你可以将它分解成实用方法。总有办法,我强烈地考虑不要从另一个UI中调用一个UI事件。如果你考虑代码的表现力,菜单没有被点击,所以调用菜单点击事件有点奇怪。 – Rich