如何从TabHost删除标签如何从TabHost删除标签(How to remove tab fro

2019-05-12 02:20发布

在TabHost小部件,我可以创建使用其内容(意向)一个新的标签TabHost.addTab(TabHost.TabSpec则tabspec) 。

我们可以删除我们创建通过调用所有标签clearAllTabs() ,但我无法弄清楚如何去除标签或只是更换新的Intent选项卡里面的内容(意向)。

所以我需要像removeTab(int index)

Answer 1:

其实,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)

知道了,我会推荐给继承TabWidgetTabHost添加你需要的行为。 也许还有一个更简单的方法,但是这是唯一一个我能想到的。 祝好运



Answer 2:

要容易得多:

 tabHost.getTabWidget().removeView(tabHost.getTabWidget().getChildTabViewAt(3));


文章来源: How to remove tab from TabHost