如何根据If语句在运行时更改菜单项图标?这是我拥有的代码,它导致崩溃。
public boolean onPrepareOptionsMenu(Menu Item) {
if (favorite == true){
itema = (MenuItem) findViewById(R.id.action_search);
itema.setIcon(R.drawable.ic_action_importants);
}
return true;
}
最佳答案
您正在调用活动的findViewById,应该通过调用菜单findItem获得更多的运气。
public boolean onPrepareOptionsMenu(Menu menu)
{
MenuItem myMenuItem = menu.findItem(R.id.myMenuItemId);
myMenuItem.setIcon(R.drawable.ic_myAction);
return true;
}