studio proyectos programacion para guia desarrollo avanzado aplicaciones android android-fragments android-tabhost

proyectos - manual programacion android



¿Cómo cambiar pestañas programáticamente en Android desde el fragmento? (4)

He implementado una TabActivity que extiende FragmentActivity . Tiene 5 pestañas cada pestaña es un Fragment . Lo que estoy buscando es cambiar entre las pestañas programáticamente.

Por ejemplo: si estoy en tab4. Haga clic en el botón Quiero mover de tab4 a tab1 . Probé mucho pero no pude encontrar la solución para esto.

Trató con lo siguiente pero no ayuda.

Desde SecondTab

public void switchTabInActivity(String value){ FirstTab parent; parent = (FirstTab) getActivity().getParent(); parent.switchTab(value); }

TabActividad

/** To Change Tab*/ public void switchTab(String tabno){ this.onTabChanged(tabno); }


Eche un vistazo a esta respuesta: https://.com/a/5460651/198996

((TabActivity) getParent()).getTabHost().setCurrentTab(2)


Finalmente, puedo cambiar entre las pestañas programáticamente desde Fragmentos usando la siguiente línea de código

TabHost host = (TabHost) getActivity().findViewById(android.R.id.tabhost); host.setCurrentTab(2);

Espero que ayude a alguien.


Tengo pestañas (usando TabLayout no TabHost (depreciado)) (con Fragmentos) en mi Actividad principal en la que en mi primera pestaña (fragmento) con un detector de clics en el fragmento que es para cambiar la pestaña actual en mi MainActivity.

Cambié con éxito la pestaña actual a través de lo siguiente en el método onCreateView () dentro del fragmento.

TabLayout tabs = (TabLayout)((MainActivity)getActivity()).findViewById(R.id.tabs); tabs.getTabAt(1).select();


para el soporte de materiales, puede cambiar el tablayout de un fragmento de las siguientes maneras:

1) enviar una difusión que es recibida por la actividad principal que luego modifica la pestaña.

context.sendBroadcast(yourintent);

2.) Una modificación de la respuesta del vino.

TabLayout tabhost = (TabLayout) getActivity().findViewById(R.id.tabLayout); tabhost.getTabAt(2).select();

tablayout es el id del tablayout como se define en su xml principal.