Android ActionBar setCheckable() не работает
Я пытаюсь сделать один из MenuItems
на моем Menu
свойством checkmark, но он не работает. Все остальные MenuItems
работают, это тоже делает, кроме отображения галочки. Что я делаю неправильно?
MenuItem actionPickMode = menu.add(0, 3, 0, "pickmode");
actionPickMode.setTitle("Pick Mode");
actionPickMode.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT
| MenuItem.SHOW_AS_ACTION_ALWAYS);
actionPickMode.setVisible(true);
actionPickMode.setCheckable(true);
Ответы
Ответ 1
Похоже, вы пытаетесь добавить галочку к MenuItem
, которая находится на панели действий. В соответствии с этим вопросом это невозможно: Элемент действия панели действий Android не работает/отображается правильно?
Что вы можете сделать, это реализовать его самостоятельно - когда элемент щелкнут, используйте setIcon
, чтобы изменить drawable, и сохраните состояние переключения самостоятельно. Этот вопрос описывает, как вы можете получить встроенную галочку Drawable
s: Как получить доступ к галочке в ОС Android?
Ответ 2
Вам нужно создать собственный макет для вашего действия, содержащий флажок. См. Мой ответ здесь.