2010-05-29 4 views
13

में गतिशील रूप से टैब सूचक संशोधित करें मेरे एप्लिकेशन को गतिशील रूप से टैब संकेतक को अपडेट करने की आवश्यकता है, मैं TabSpec.setIndicator() को आमंत्रित करके ऐसा करने की कोशिश कर रहा हूं, लेकिन यह काम नहीं करता है।एंड्रॉइड

TabActivity की onCreate विधि में: यहाँ मेरी कोड है

tabHost = getTabHost(); 
TabSpec tabSpec = tabHost.newTabSpec("abc"); 
tabSpec.setIndicator("helloabc"); 
tabSpec.setContent(new MyViewFactory()); 
tabHost.addTab(tabSpec); 

अब मैं टैब सूचक, उदाहरण के लिए, एक और स्ट्रिंग के लिए बदलने के लिए "xyz"

TabSpec tabSpec = MyTabActivity.getTabSpec(); 
tabSpec.setIndicator("xyz"); 

जरूरत है लेकिन यह 'नहीं करता है टी काम नहीं तो मैं टैबहोस्ट में जोड़े जाने के बाद टैब सूचक को कैसे बदलना चाहता हूं? बहुत धन्यवाद।

TextView title = (TextView) tabHost.getTabWidget().getChildAt(tabId).findViewById(android.R.id.title) 
title.setText("xyz"); 
+0

मैं छवि सूचक इस तरह से बदल सकते हैं? – keen

उत्तर

13

मैं अपने पहले गलत उत्तर के लिए क्षमा चाहते हैं, अब हटा दिया गया:

समाधान

@CommonsWare के लिए धन्यवाद, मैं इसे TabWidget.getChildAt का उपयोग करके बनाने के लिए, यहां आपकी सुविधा के लिए मेरी कोड है ।

TabWidget पर उपयोग करने का प्रयास करें।

+0

मैं टैब बार के छवि संकेतक को कैसे बदल सकता हूं? – keen

7

मैंने एकाधिक टैब के लिए childviewAt(id) के बजाय getChildTabViewAt(tabId) के साथ मैगागा।

1

इस प्रयास करें:

TextView title = (TextView) TabHost.getTabWidget().getChildTabViewAt(tabId).findViewById(android.R.id.title);