Изменить цвет фона панели действий в коде из списка навигации

Я хочу изменить цвет фона панели действий, когда пользователь выбирает элемент в списке навигации.

В настоящее время мой код выглядит так:

@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 в списке навигации, он меняет цвет панели действий на белый.

enter image description here
Во второй раз, когда я нажимаю itemPosition 1 в списке навигации, у меня нет проблем.

enter image description here
Может ли кто-нибудь сказать мне, почему это так и как я могу решить проблему? Спасибо вам за помощь!

5
задан hasanghaforian 2 August 2012 в 03:49
поделиться