Control dinámico de elementos de acción / menú en ActionBar

¿Hay una manera de desactivar dinámicamente, ocultar, agregar / quitar elementos de menú en ActionBar? Por ejemplo, una acción se deshabilita hasta que el usuario llena un número de teléfono válido en una actividad.

No encontré ningún método útil en ActionBar API, la única manera parece estar usando una vista personalizada en ActionBar.

Para indicar a ActionBar que actualice sus elementos de menú: invalidateOptionsMenu ()

Luego para activar / desactivar los elementos del menú:

@Override public boolean onPrepareOptionsMenu(Menu menu) { MenuItem item= menu.findItem(R.id.men_1); //depending on your conditions, either enable/disable item.setEnabled(false); super.onPrepareOptionsMenu(menu); return true; } 

Y para ocultar la barra de acción que tiene:

 getActionBar().hide(); 

Otra opción: tener un campo en la actividad que almacena el menú. De esta manera es posible llamar a getMenuInflater (). Inflate () y menu.clear () desde cualquier lugar que desee en esta actividad

Por lo tanto, se ve algo así:

 class MyActivity extends ActionBarActivity { Menu actionBar; @Override public boolean onCreateOptionsMenu(Menu menu) { actionBar = menu; return true; } //Possible usage void showActionBar1 () { getMenuInflater().inflate(R.menu.menu_1, actionBar); actionBar.findItem(R.id.menu_1_btn_1).setOnMenuItemClickListener(); } void showActionBar2 () { getMenuInflater().inflate(R.menu.menu_2, actionBar); ... } void clearActionBar () { if (actionBar != null) actionBar.clear(); } 
  • Ocultar brevemente ActionBar sin cambiar el tamaño Actividad
  • Android personalizado Overflow-menu (Sin barra de acción y sin menubutton)
  • Android: Icono de búsqueda que no se muestra en la barra de acciones
  • Android: La barra de acción predeterminada se está poblando mientras se carga la aplicación
  • ¿Cuál es el tamaño predeterminado de fuente del título ActionBar?
  • Holo Light con Dark Actionbar muestra Holo Dark copiar y pegar iconos
  • Barra de herramientas alinear el título en el centro con el botón Atrás
  • El botón de desbordamiento obliga al modo de acción a finalizar
  • Android: deshabilitar barra de acción home button
  • Cómo cambiar el color de las pestañas de navegación de ActionBar?
  • Android: cambia el color de fondo de la navegación desplegable en la barra de acción
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.