我在片段A中有menuItem,第一次我的menuItem.setIcon工作正常,但是当我添加片段B(而不是替换)并返回片段A时,menuItem.setIcon不再起作用了!
这是我在片段A上的代码,在我添加片段B并返回片段A之前,buttonClicked方法可以正常工作
private MenuItem menuItem;
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_main, menu);
menuItem = menu.findItem(R.id.action_item);
super.onCreateOptionsMenu(menu, inflater);
}
public void buttonClicked() {
if (condition)
menuItem.setIcon(getResources().getDrawable(R.drawable.ic_action));
else
menuItem.setIcon(getResources().getDrawable(R.drawable.ic_action_checked));
}
最佳答案
您需要调用Activity.invalidateOptionsMenu();进行任何菜单更改。