9

में किसी टैब की गतिविधि से टैब अपडेट करें मेरे पास टैबएक्टिविटी है और इसमें 3 या 4 टैब होने जा रहे हैं।एंड्रॉइड टैबहोस्ट

टैबए में, मैं एक विस्तार योग्य लिस्ट व्यू चाहता हूं, जो उत्पादों की सूची देगा। मैं टैबबी को "शॉपिंग कार्ट" के रूप में कार्य करना चाहूंगा, शायद खुद की सूची दृश्य के साथ।

क्या गतिविधि से TabHost से बातचीत करने का कोई तरीका है? मैं टैबए के अंदर एक बटन पर क्लिक करने में सक्षम होना चाहता हूं और इसे अद्यतन कर सकता हूं और टैबसी पर स्विच कर सकता हूं। क्या यह संभव है? क्या मैं टैब की गतिविधियों को अपने माता-पिता के तरीकों को बुला सकता हूं?

उत्तर

16

यदि आप अलग-अलग गतिविधियों के बजाए अपने टैब को विचारों के रूप में लागू करते हैं, तो यह बहुत आसान होगा, तेजी से चलेंगे, कम स्मृति ले लेंगे, और बेहतर समाधान IMHO बनें।

कहा जा रहा है कि टैब ए Activity में, पर जाने के लिए getParent() पर कॉल करें। फिर, आप disretrospect द्वारा बताए गए तरीकों का उपयोग कर सकते हैं।

+5

getParent के लिए +1() टिप - हालांकि मैं गतिविधियों की बजाय विचारों का उपयोग करने की सिफारिश को समझ नहीं पा रहा हूं। मैं जीवन चक्र को अलग करने और प्रत्येक टैब से संबंधित कोड को अलग करने के लिए गतिविधियों को प्राथमिकता देता हूं। – FrVaBe

+0

@ के। Claszen: "जीवन चक्र अलग करने के लिए" - उनके जीवन चक्र अलग नहीं हैं। "प्रत्येक टैब से संबंधित कोड को अलग करने के लिए" - जावा क्लास फाइलों के रूप में कोड अलगाव 15 साल तक रहा है। इसके लिए आपको अलग-अलग गतिविधियों का उपयोग करने की आवश्यकता नहीं है। प्रतिक्रिया के लिए – CommonsWare

+1

धन्यवाद। जैसा कि मैंने देखा है, गतिविधियां जीवन चक्र विधियों (ऑनक्रेट इत्यादि) को केवल तभी बुलाया जाता है जब संबंधित टैब चुना जाता है। और मैं एक टैब में 'विस्तारणीय लिस्टएक्टिविटी' जैसी प्रदत्त गतिविधियों को विस्तारित करने में सक्षम होना पसंद करता हूं। हालांकि, दोनों संभावनाएं प्रदान की जाती हैं और आवश्यकता के आधार पर संवेदना बनाती हैं, इसलिए मैंने सोचा कि क्या सामान्य सिफारिश हो सकती है। – FrVaBe

1
  1. अपनी गतिविधि में, getParent() का उपयोग TabActivity माता पिता
  2. पाने के लिए अपने TabActivity कक्षा में, getLocalActivityManager()। GetActivity (tabId) गतिविधि वस्तु
  3. कॉल गतिविधि वस्तु की विधि प्राप्त करने के लिए उपयोग करें
+0

उस गतिविधि # 3 में देखने के बारे में कैसे – Mikey

3

कोशिश एक टैब में गतिविधि को भी करने के लिए इस कोड का उपयोग करने के लिए:

TabActivity parent = (TabActivity) getParent(); 
TabHost tabhost = parent.getTabHost(); 
tabhost.setCurrentTab(0); 
संबंधित मुद्दे