, я пытаюсь получить свой пункт меню, который отображается на панели действий, чтобы вести себя как проверяемый параметр меню . Первая часть работает, то есть ее можно проверить, и когда я нажимаю ее и устанавливаю в коде 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);
}
Спасибо!