2010-02-18 60 views
5

Tengo tres pestañas en mi aplicación. En un evento bajo una pestaña, quiero cambiar el título de una pestaña existente. Este es el título que proporcionamos al agregar las pestañas a TabHost.Cómo cambiar el título de la pestaña dinámicamente

Ej: TabHost.addTab (tabHost.newTabSpec ("Tab2")) setIndicator ("I necesita ser cambiado dinámicamente") setContent ....

En el ejemplo anterior, el título de la.. tab2 que proporcioné en setIndicator(), debe cambiarse dinámicamente.

¿Hay alguna manera de lograr esto.

Respuesta

3

En lugar de configurar el indicador como String, use uno donde configure el View para ser utilizado. Luego, puede conservar ese View (por ejemplo, un TextView) y cambiar su contenido según sea necesario.

7

A menos que pueda encontrar un método más limpio, puede acceder al TabWidget. contenidos en el TabWidget son diseños relativos para cada una de sus pestañas que contienen cada uno ImageView y TextView. Para acceder directamente a la Vista de Texto de la ficha en el índice 0 se puede hacer esto:

mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title); 

A continuación, sólo para interpretar a un TextView y se puede editar como quieras. La continuación trabajó para mí:

((TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("New"); 
-1

No use más "TabHost" para ICS, que ya no se utiliza en la versión 13. lugar que necesita para "Barra de acciones" ...

Tab mTab = super.getSupportActionBar().getTabAt(0); 
mTab.setText("new Title"); 

Android actualizará la pestaña de inmediato

+0

¡TabHost no está en desuso! ¿De dónde sacas esto? – AsafK

Cuestiones relacionadas