Android ActionBar: mostrar / ocultar las pestañas de forma dinámica?

¿Es posible quitar / restaurar la barra de pestañas de la barra de acción dinámicamente?

Hasta ahora lo hice cambiando el modo de navegación de la barra de acción. He utilizado el siguiente código para eliminar y restaurar la barra de pestañas:

@Override public void restoreTabs() { getSupportActionBar() .setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); this.supportInvalidateOptionsMenu(); } @Override public void removeTabs() { getSupportActionBar() .setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); this.supportInvalidateOptionsMenu(); } 

Eso funciona, pero hay un gran problema: Cada vez que llamo setNavigationMode , onTabSelected se llama en el TabListener y la pestaña opend se recrea.

Para quitar dinámicamente las pestañas de la barra de acciones, simplemente necesita:

 getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 

Para agregarlos al vuelo, simplemente haga lo siguiente:

 getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

Para el segundo caso, la suposición es que después de configurar el modo de navegación, también agregará pestañas, a la barra de acción, similar a esto:

 for (int resourceId : tabs) { actionBar.addTab(actionBar.newTab().setText(resourceId) .setTabListener(this)); } 
 public void onDrawerClosed(View view) { getActionBar().setTitle(mTitle); // calling onPrepareOptionsMenu() to show action bar icons getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); invalidateOptionsMenu(); } public void onDrawerOpened(View drawerView) { getActionBar().setTitle(mDrawerTitle); // calling onPrepareOptionsMenu() to hide action bar icons getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); invalidateOptionsMenu(); } 

Esto está funcionando como se pretende, ya que la ficha se está seleccionando porque no estaba apareciendo. Le sugiero que haga por su cuenta el control en TabListener.

  • ¿Es posible descargar actividades en línea y cargarlas en pestañas en Android?
  • No se puede agregar pestañas dentro de Fragmento de cajón de navegación Android
  • Cómo configurar la altura de las pestañas de la barra de acciones para android
  • Android: ¿Cómo agregar iconos / drawables a la PagerTabStrip de la versión 4 de Android Support Lib?
  • ViewPager con un fragmento ListView - El niño especificado ya tiene un padre
  • Cambiar entre fragmentoTabs dando resultados inesperados
  • Lengüetas estilo Android SlidingTabs con esquinas redondas
  • Cómo utilizar tabContentStart para iniciar el contenido desde la mitad de la pantalla del dispositivo
  • ¿Cómo puedo habilitar las pestañas de la barra de acciones en un fragmento?
  • Cómo personalizar las pestañas de Android o cambio de fondo?
  • Fragmento desaparece de la espalda
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.