2015-08-29 3 views
1

Я пытаюсь добавить этот флажок в меню своего приложения для Android. Но я не знаю, почему элемент с атрибутом android:checkable="true" имеет этот квадрат флажка, но ведет себя как другие элементы. Должен ли я писать что-то в Java-коде? Я могу читать значение, но постукивание не изменяя его значение ...Флажок в меню Android не работает

Мое меню \ main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/menu_settings" 
     android:title="@string/settings"/> 
    <item 
     android:id="@+id/menu_tests" 
     android:title="@string/i_want_to_test"/> 
    <item 
     android:id="@+id/menu_translating" 
     android:enabled="false" 
     android:title="@string/i_want_to_translating"/> 
    <item 
     android:id="@+id/menu_funmade" 
     android:checkable="true" 
     android:title="Enable funmade"/> 

</menu> 

Смотри:

How menu looks

последний вариант behve как другие без определенного поведения. Я могу нажать и закрыть manu, и состояние не изменится. Надеюсь, ты поможешь.

Andret

ответ

1

Когда пользователь выбирает элемент из меню опций (включая действие пунктов в панели действий), система вызывает метод вашей деятельности в onOptionsItemSelected().

Следующий код находится внутри метода onOptionsItemSelected(MenuItem item) в вашей деятельности.

Код:

switch (item.getItemId()) { 
     case R.id.menu_settings: 
      // Specify actions for the menu click 
      return true; 
     case R.id.menu_tests: 
      // Specify actions for the menu click 
      return true; 
     case R.id.menu_translating: 
      // Specify actions for the menu click 
      return true; 
     case R.id.menu_funmade: 
      // Specify actions for the menu click 
      if (item.isChecked()) { 
       item.setChecked(false); 
      } else { 
       item.setChecked(true); 
      } 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 

Вы можете посмотреть на official docs о отмечаемых меню для более подробной информации.

Смежные вопросы