Выбранное состояние MenuItem неправильно отображается его значком

У меня MenuItem определен следующим образом:



    

и btn_star.xml определены следующим образом:


    
    

Однако, когда я создаю меню параметров, используя это, значок никогда не отображается в отмеченном состоянии, даже если MenuItem isChecked () имеет значение true.

Я использую элемент управления ActionBarSherlock , однако я получаю тот же результат, если просто создаю обычное меню параметров и вызовите setChecked (true) . Он по-прежнему отображает btn_star_off drawable независимо от отмеченного состояния элемента.

Метод onOptionsItemSelected () вызывается правильно, и я могу успешно изменить свойство checked:

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if(item.isCheckable()) {
            item.setChecked(!item.isChecked());
        }
        return super.onOptionsItemSelected(item);
}

Установка точки останова здесь показывает, что свойство isChecked изменяется, но сам значок не обновляется до отражают правильное состояние.

Что-то здесь не хватает? Я это неправильно делаю? Я не могу понять, почему это не работает правильно.

17
задан Carl Manaster 13 July 2011 в 18:46
поделиться