我在 fragment A 中有 menuItem,menuItem.setIcon 第一次工作正常,但是当我添加 fragment B(而不是替换)并返回到 fragment A 时,menuItem.setIcon 不再工作了!
这是我在 fragment A 上的代码,在我添加 fragment B 并返回到 fragment 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();进行任何菜单更改。
关于android menuItem.setIcon 每次都不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45930610/