¿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?
- Icono de la barra de acciones de Android png dimensions
- Android: Cómo hacer una pestaña de la pestaña como el mercado de Android?
- onConfigurationChanged () llamando dos veces cuando cambia la orientación de Paisaje a Retrato
- FragmentPagerAdapter problemas y problemas: Constructor Undefined
- Tabindicator no se desliza de una a otra ficha en tablayout cuando deslizo entre fragmentos. El resaltado de la fuente tampoco está cambiando
- Comportamiento de desplazamiento de AppBarLayout
- Tabulaciones de Android sin iconos
- Reemplazar ListFragment con fragmento dentro de ViewPager con pestañas
- Función de parada que llama en pestañas
- Creación de botones de pestaña personalizados
- Cajón de navegación de Android sobre las pestañas
- PagerSlidingTabStrip - agrega una nueva pestaña en tiempo de ejecución
- TabLayout contenido de la pestaña de actualización con una vista personalizada
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); } });
- "Esperando que el dispositivo de destino se conecte" en Android Studio 2.3
- SDK Manager: Error al instalar. SDK android platform 3.0 API 11, revisión 2