2010-07-21 12 views
14

से टैब को कैसे हटाएं TabHost विजेट में, मैं TabHost.addTab(TabHost.TabSpec tabSpec) का उपयोग करके अपनी सामग्री (इरादा) के साथ एक नया टैब बना सकता हूं।टैबहोस्ट

हम clearAllTabs() पर कॉल करके बनाए गए सभी टैब को हटा सकते हैं, लेकिन मैं टैब को हटाने या टैब के अंदर सामग्री (इरादा) को नए इरादे से प्रतिस्थापित करने का तरीका नहीं समझ सकता।

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

और विधि removeAllViews वर्ग ViewGroup से आता है:

तो क्या मैं की तरह removeTab(int index)

उत्तर

13

असल में कुछ चाहिए, clearAllTabs कि नहीं करता है। सौभाग्य से, ViewGroup तरीकों है केवल एक ही दृश्य को हटाने के लिए:

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

कि जानने के बाद, मैं TabWidget और TabHost उपवर्ग के व्यवहार आप की जरूरत को जोड़ने के लिए सिफारिश करेंगे । शायद एक आसान तरीका है लेकिन यह केवल एकमात्र ऐसा है जिसे मैं सोच सकता हूं। गुड लक

23

बहुत आसान:

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

यह वास्तव में क्या मैं 4. –

+0

कर सकते हैं टैब इसके टैग या टैब क्लिक की वर्तमान सूचकांक स्थिति का पता लगाने के लिए सक्षम .. –

+0

वर्तमान सूचकांक द्वारा हटाने जा रहा था है: tabHost.getCurrentTab() – 2red13

संबंधित मुद्दे