¿Cómo obtener el índice actual de la pestaña seleccionada en TabLayout?

Cuando uso las pestañas de ActionBar, uso este código.

private int getCurrentTabIndex() { ActionBar actionBar = activity.getSupportActionBar(); ActionBar.Tab selectedTab = actionBar.getSelectedTab(); if(selectedTab == null){ return 0; } return selectedTab.getPosition(); } 

¿Pero cómo puedo hacerlo usando TabLayout?

Utilice OnTabSelectedListener .

Y luego en este oyente obtener el getPosition() .

Algo como esto:

 tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener(){ @Override public void onTabSelected(TabLayout.Tab tab){ int position = tab.getPosition(); } }); 

SetOnTabSelectedListener ahora está obsoleto. Puede utilizar addOnTabSelectedListener en su lugar. Para eliminar el oyente puede utilizar removeOnTabSelectedListener

  mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { int position = tab.getPosition(); } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } }); 

Simplemente puede hacerlo llamando a getSelectedTabPosition() en su instancia TabLayout como:

 int tab_position=tabLayout.getSelectedTabPosition(); 

Si está usando pestañas con viewpager , la tarea solicitada se podría hacer de la siguiente manera:

Utilice el siguiente código después de tabLayout.setUpWithViewPager(viewPager)

 tabLayout.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager) { @Override public void onTabSelected(TabLayout.Tab tab) { switch(tab.getPosition()){ // do something here } super.onTabSelected(tab); } }); 
  • ¿Cómo cambio el fondo de un widget de pestaña de Android?
  • Cómo crear pestañas como Twitter o Instagram para trabajar en todas las plataformas Android> 2.2
  • Android: pestañas desplazables
  • ¿Cómo ir a otras pestañas haciendo clic en un botón de la pestaña actual en Android?
  • Configuración de la TAB seleccionada con un pequeño triángulo debajo de ella
  • Algunos problemas y dificultades en PagerTabStrip
  • Ayuda de la pestaña de Android. ¿Cómo configurar la 2ª pestaña como predeterminada cuando se abre la aplicación?
  • Ocultar el título de una barra de acciones no funciona en las versiones anteriores de Android (con ActionBarSherlock)
  • ¿Es posible cambiar el indicador de pestaña de la barra de acciones programáticamente?
  • ¿Es posible comprobar si una "TAB" específica en TabWidget está visible en la vista actual o no?
  • Android Galaxy Tab: ¿Por qué el ícono de lanzamiento está rodeado por un borde rosa?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.