2010-07-21 116 views

回答

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)

知道了,我會推薦給繼承TabWidgetTabHost添加你需要的行爲。也許有一種更簡單的方法,但這是我能想到的唯一方法。 好運

23

容易得多:

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

這正是我一直在尋找4. – 2013-01-16 14:53:26

+0

可以按Tab鍵通過其標籤或能找到選項卡中單擊當前指數的位置.. – 2013-06-25 12:19:56

+0

當前索引中刪除: tabHost.getCurrentTab() – 2red13 2013-06-25 15:53:12