我在片段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();进行任何菜单更改。

09-11 08:50
查看更多