У меня есть активность, которая имеет TabHost, содержащую набор TabSpecs, каждый из которых имеет список, содержащий элементы, которые будут отображаться на вкладке. Когда каждый TabSpec создается, я устанавливаю значок, который будет отображаться в заголовке вкладки.
TabSpecs создаются таким образом внутри метода setupTabs()
, который создает петли для создания соответствующего количества вкладок:
TabSpec ts = mTabs.newTabSpec("tab");
ts.setIndicator("TabTitle", iconResource);
ts.setContent(new TabHost.TabContentFactory(
{
public View createTabContent(String tag)
{
...
}
});
mTabs.addTab(ts);
Есть несколько экземпляров, где я хочу иметь возможность изменять значок, который отображается на каждой вкладке во время выполнения моей программы. В настоящее время я удаляю все вкладки и снова вызываю вышеуказанный код для их повторного создания.
mTabs.getTabWidget().removeAllViews();
mTabs.clearAllTabs(true);
setupTabs();
Есть ли способ заменить значок, который отображается без удаления и повторного создания всех вкладок?