如何从TabHost中删除选项卡

在TabHost小部件中,我可以使用TabHost.addTab(TabHost.TabSpec tabSpec)创build一个带有其内容(Intent)的新选项卡。

我们可以通过调用clearAllTabs()来删除我们创build的所有选项卡,但是我不知道如何删除选项卡,或者只是用新的Intentreplace选项卡中的内容(Intent)。

所以我需要像removeTab(int index)

Solutions Collecting From Web of "如何从TabHost中删除选项卡"

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

知道这一点,我会build议子类TabWidgetTabWidget添加您需要的行为。 也许有一个更简单的方法,但这是我能想到的唯一的方法。 祝你好运

更简单:

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