我有一个活动,其中包含一组TabSpec,每个TabSpec都有一个listview,其中包含选项卡要显示的项目.创建每个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);
Run Code Online (Sandbox Code Playgroud)
有几个实例我希望能够在执行程序期间更改每个选项卡中显示的图标.目前我正在删除所有选项卡,并再次调用上面的代码来重新创建它们.
mTabs.getTabWidget().removeAllViews();
mTabs.clearAllTabs(true);
setupTabs();
Run Code Online (Sandbox Code Playgroud)
有没有办法替换正在显示的图标而不删除并重新创建所有选项卡?
我有一个带有图标的tabhost,当选择一个标签X时,图标不会出现,因为该图标与所选标签的颜色相同.问题是:
当选择标签X时,如何更改图标?