Динамически менять вкладку в Android

Мое приложение должно динамически обновлять индикатор вкладок, я пытаюсь сделать это, вызывая TabSpec.setIndicator(), но он не работает. Вот мой код:

В методе onCreate TabActivity:

tabHost = getTabHost(); 
TabSpec tabSpec = tabHost.newTabSpec("abc");
tabSpec.setIndicator("helloabc");
tabSpec.setContent(new MyViewFactory());
tabHost.addTab(tabSpec);

Теперь мне нужно изменить индикатор вкладки на другую строку, например, "xyz"

TabSpec tabSpec = MyTabActivity.getTabSpec();
tabSpec.setIndicator("xyz");

Но это не сработает. Поэтому я хотел бы знать, как изменить индикатор вкладок после его добавления в tabhost? Большое спасибо.

Решение

Благодаря @CommonsWare, я делаю это с помощью TabWidget.getChildAt, вот мой код для вашего удобства:

TextView title = (TextView) tabHost.getTabWidget().getChildAt(tabId).findViewById(android.R.id.title)
title.setText("xyz");

Ответы

Ответ 1

Приносим извинения за мой ранее неверный ответ, который теперь удален.

Попробуйте использовать getChildViewAt() в TabWidget.

Ответ 2

i управляется getChildTabViewAt(tabId) вместо childviewAt(id) для нескольких вкладок.

Ответ 3

Попробуйте следующее:

 TextView title = (TextView) TabHost.getTabWidget().getChildTabViewAt(tabId).findViewById(android.R.id.title);