如何从TabHost中删除标签
问题描述:
在TabHost小部件中,我可以使用TabHost.addTab(TabHost.TabSpec tabSpec)创建一个新标签,其内容(意图)。如何从TabHost中删除标签
我们可以删除我们创建通过调用clearAllTabs()所有选项卡,但我无法弄清楚如何去除标签或只是更换新的Intent选项卡里面的内容(意向)。
所以我需要这样的东西removeTab(int index)
答
其实,clearAllTabs确实是:
public void clearAllTabs() {
mTabWidget.removeAllViews();
initTabHost();
mTabContent.removeAllViews();
mTabSpecs.clear();
requestLayout();
invalidate();
}
而且方法removeAllViews来自类ViewGroup
。幸运的是,ViewGroup
确实有方法去除只有一个观点:
removeView(View view)
removeViewAt(int index)
removeViewInLayout(View view)
知道了,我会推荐给继承TabWidget
和TabHost
添加你需要的行为。也许有一种更简单的方法,但这是我能想到的唯一方法。 好运
答
容易得多:
tabHost.getTabWidget().removeView(tabHost.getTabWidget().getChildTabViewAt(3));
这正是我一直在寻找4. – 2013-01-16 14:53:26
可以按Tab键通过其标签或能找到选项卡中单击当前指数的位置.. – 2013-06-25 12:19:56
当前索引中删除: tabHost.getCurrentTab() – 2red13 2013-06-25 15:53:12