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

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

所以我需要像removeTab(int index)这样的东西

最佳答案

实际上,clearAllTabs可以做到这一点:

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

方法removeAllViews来自类ViewGroup。幸运的是,ViewGroup确实具有仅删除一个 View 的方法:
  • removeView(View view)
  • removeViewAt(int index)
  • removeViewInLayout(View view)

  • 知道这一点,我建议将TabWidgetTabHost子类化以添加所需的行为。也许有一种更简单的方法,但这是我能想到的唯一方法。
    祝你好运

    关于android - 如何从TabHost删除选项卡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3299845/

    10-12 19:21