我有一个活动,它有一个包含一组 TabSpecs 的 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();
有没有办法在不删除和重新创建所有选项卡的情况下替换正在显示的图标?