当用户在导航列表中选择一个选项时,我想更改操作栏背景的颜色。
目前,我的代码如下所示:

@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();

07-24 09:49
查看更多