代码之家  ›  专栏  ›  技术社区  ›  Anwar Chandra

如何从TabHost中删除tab

  •  14
  • Anwar Chandra  · 技术社区  · 14 年前

    在一个 TabHost TabHost.addTab(TabHost.TabSpec tabSpec) .

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

    所以我需要的是 removeTab(int index)

    2 回复  |  直到 14 年前
        1
  •  13
  •   Rup    13 年前

    实际上,clearAllTabs是这样做的:

    public void clearAllTabs() {
      mTabWidget.removeAllViews();
      initTabHost();
      mTabContent.removeAllViews();
      mTabSpecs.clear();
      requestLayout();
      invalidate();
    }
    

    removeAllViews方法来自于 ViewGroup . 幸运的是, 视图组 没有只删除一个视图的方法:

    • removeView(View view)
    • removeViewAt(int index)
    • removeViewInLayout(View view)

    TabWidget TabHost 添加您需要的行为。也许有更简单的方法,但那是我唯一能想到的。 祝你好运

        2
  •  25
  •   vinay Maneti    11 年前

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