在TabHost窗口小部件中,我可以使用TabHost.addTab(TabHost.TabSpec tabSpec)创建一个包含其内容(意图)的新标签页。
我们可以通过调用clearAllTabs()删除我们创建的所有标签,但我无法弄清楚如何删除标签或只是用新的Intent替换标签内的内容(Intent)。
所以我需要像removeTab(int index)
答案 0 :(得分:25)
更容易:
tabHost.getTabWidget().removeView(tabHost.getTabWidget().getChildTabViewAt(3));
答案 1 :(得分:13)
实际上,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
以添加您需要的行为。也许有一种更简单的方法,但这是我能想到的唯一方法。
祝你好运