我想获得一个菜单项来使用.setChecked()
。但这应该是onOptionsItemSelected(MenuItem item)
以外的另一个功能。所以我用findViewById()
尝试了它,但后来我提到这不会起作用^^我用Google搜索但我只能找到他们在onOptionsItemSelected函数中使用它的示例,并且可以使用item
对象。是否有可能获得像findViewById
这样的菜单项?
答案 0 :(得分:2)
我想获得一个菜单项来使用.setChecked()。但这应该是 在另一个函数中,而不是onOptionsItemSelected(MenuItem item)
我的第一个想法是创建Menu
的“副本”,然后您可以访问其子项。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
this.menuCopy = menu;
new MenuInflater(<context>).inflate(layout, this.menuCopy);
return super.onCreateOptionsMenu(this.menuCopy);
}
然后你可以使用两种方法:
menu.getItem()
它返回给定索引的菜单项menu.findItem()
它返回带有特定标识符的菜单项