Как добавить кнопку переключения в элемент меню в android

У меня есть пункт меню в приложении. Требование состояло в том, чтобы добавить кнопку переключения к элементу меню. Это возможно?

Solutions Collecting From Web of "Как добавить кнопку переключения в элемент меню в android"

Вам нужно установить значение android:checkable свойство меню в true и контролировать его проверенное состояние во время выполнения. Пример:

Меню :

 <item android:id="@+id/checkable_menu" android:checkable="true" android:title="@string/checkable" /> 

Деятельность :

 private boolean isChecked = false; @Override public boolean onPrepareOptionsMenu(Menu menu) { MenuItem checkable = menu.findItem(R.id.checkable_menu); checkable.setChecked(isChecked); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.checkable_menu: isChecked = !item.isChecked(); item.setChecked(isChecked); return true; default: return false; } } 

Надеюсь это поможет.

 public boolean onPrepareOptionsMenu(final Menu menu) { if(super.mMapView.isTraffic()) menu.findItem(MENU_TRAFFIC_ID).setIcon(R.drawable.traffic_off_48); else menu.findItem(MENU_TRAFFIC_ID).setIcon(R.drawable.traffic_on_48); return super.onPrepareOptionsMenu(menu); } 

Вы хотите добавить кнопку переключения в качестве одного из элементов / элементов, отображаемых в меню параметров, или добавить кнопку в элемент списка из меню?

Затем вы можете сделать это с помощью настраиваемого макета (используйте ListView внутри, если хотите) и раздуйте его в

 public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); return true; } 

И вы можете сохранять значения каждый раз, когда кнопка переключается.

 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.btnToggleValue: // save it here return true; case R.id.btnSecond: ... return true; default: return super.onOptionsItemSelected(item); } }