当用户在导航列表中选择一个选项时,我想更改操作栏背景的颜色。
目前,我的代码如下所示:
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
ColorDrawable colorDrawable = new ColorDrawable();
ActionBar actionBar = getActionBar();
if(itemPosition == 0)
{
colorDrawable.setColor(0xffFEBB31);
actionBar.setBackgroundDrawable(colorDrawable);
return true;
}
if(itemPosition == 1)
{
colorDrawable.setColor(0xff9ACC00);
actionBar.setBackgroundDrawable(colorDrawable);
return true;
}
return false;
}
但是,当我第一次在导航列表中选择itemposition 1时,它会将actionbar颜色更改为白色。
第二次单击导航列表中的项目位置1时,我没有问题。
有谁能告诉我这是为什么以及我如何解决这个问题吗?谢谢你的帮助!
最佳答案
试试这个:
myActivity.invalidateOptionsMenu();