Parece que debería ser simple, pero no puedo encontrar la forma de hacerlo. Necesito una pestaña para tener el texto inicial, pero luego tengo que cambiar el texto después de que el usuario selecciona un elemento de una lista. Sé cómo cambiar la ficha fondos y colores a través de¿Cómo cambiar el texto de la pestaña de Android sobre la marcha?
mTabHost.getChildAt(index).setBackgroundColor();
pero no es una opción para cambiar el indicador de la pestaña. He intentado usar un EditText.
private EditText tabName;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.statistics);
comm = new Communicator();
tabName = new EditText(this);
tabName.setText("BeginningText");
mTabHost = getTabHost();
mTabHost.addTab(mTabHost
.newTabSpec("tab_1_stat")
.setIndicator(User)
.setContent(R.id.meStatsTab));
mTabHost.addTab(mTabHost
.newTabSpec("tab_2_stat")
.setIndicator(tabName.getText())
.setContent(R.id.themStatsTab));
mTabHost.addTab(mTabHost
.newTabSpec("tab_3_stat")
.setIndicator("Archive")
.setContent(R.id.archiveStatsTab));
mTabHost.setOnTabChangedListener(this);
getTabWidget().getChildAt(1).setOnClickListener(new onThemTabClicked());
mTabHost.setCurrentTab(0);
onTabChanged("tab_1_stat");
}
.....
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
tabName.setText("ChangedTabText");
Bundle extras = intent.getExtras();
themStats = extras.getStringArray("themStats");
mTabHost.setCurrentTab(1);
onTabChanged("tab_2_stat");
}
que no funcionó bien, junto con algunos otros intentos. ¿Algunas ideas? Gracias de antemano!
Si está utilizando la 'TabActivity' estándar, puede usar' findViewById (android.R.id.title) 'en lugar de' getChildAt (textIndex) 'como en [esta respuesta] (http://stackoverflow.com/a/5577979/165674). –