, поэтому я пытаюсь заставить свой пункт меню, то есть показывать на панели действий, вести себя как проверяемая опция меню. Первая часть работает, это означает, что ее можно проверить, и когда я нажимаю ее и устанавливаю в коде setChecked (true), она работает. Но что не работает, так это визуальная часть. Нет изменений в том, как элемент меню выглядит на панели действий в отмеченных и непроверенных состояниях? Я пытался использовать invalidateOptionsMenu (), но это не делает работу, и не только, с этой строкой в моем коде я не могу выйти из проверенного состояния?!?
Что происходит, так это то, что недействительные шансы OptionsMenu () отменяют проверенное состояние, и я в конечном итоге «зацикливаюсь», или при каждом нажатии этого пункта меню я продолжаю переходить к непроверенной части кода, где он проверяется, а при недействительности - непроверенный Я думаю ...
Вот код из моего файла XML для меню:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/lenslist_menu_add"
android:showAsAction="always"
android:title="@string/add"/>
<item android:id="@+id/lenslist_menu_delete"
android:showAsAction="always"
android:checkable="true"
android:title="@string/delete"/>
</menu>
А вот код Java:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.lenslist_menu_add:
return true;
case R.id.lenslist_menu_delete:
if (item.isChecked() == true) {
item.setChecked(false);
deleteMode = false;
lensAdapter.setDeleteMode(false);
} else {
item.setChecked(true);
deleteMode = true;
lensAdapter.setDeleteMode(true);
}
lensAdapter.notifyDataSetChanged();
return true;
}
return super.onOptionsItemSelected(item);
}
Спасибо!