У меня 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 изменяется, но сам значок не обновляется до отражают правильное состояние.
Что-то здесь не хватает? Я это неправильно делаю? Я не могу понять, почему это не работает правильно.