我有一个活动,它有一个TabHost,其中包含一组TabSpec,每个TabSpec都有一个列表视图,其中包含要由选项卡显示的项目。当创建每个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();
有没有一种方法可以在不删除和重新创建所有选项卡的情况下替换正在显示的图标?