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

Вам нужно создать собственный макет для вашего действия, содержащий флажок. См. Мой ответ здесь.