android menuItem.setIcon每次都不工作

时间:2017-08-29 04:18:29

标签: android android-fragments android-menu

我在片段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));
}

1 个答案:

答案 0 :(得分:1)

你需要调用Activity.invalidateOptionsMenu();进行任何菜单更改。