हम एक ऐप लिखने की प्रक्रिया में हैं जिसमें 4 टैब हैं: मानचित्र, लोग, स्थान, घटनाक्रम। ऐप में लोग, स्थान और घटनाएं मानचित्र पर आइकन के रूप में दिखाई देती हैं। डिफ़ॉल्ट रूप से लोग, स्थान और ईवेंट टैब प्रत्येक क्रमशः सभी लोगों, स्थानों और घटनाओं को प्रदर्शित करते हुए एक सूचीदृश्य, कस्टम प्रस्तुत करते हैं।एंड्रॉइड - टैब, मैप व्यू, टैब के भीतर गतिविधियां
alt text http://web6.twitpic.com/img/37202700-f92052dc474b74e1760edda1c47f6940.4adcb134-scaled.png
अब, सही टैब की अब प्रत्येक अपनी सामग्री के रूप में संगत गतिविधि शुरू करने के लिए एक आशय सेट है। उदाहरण के लिए, एक MapTabActivity है जो MapActivity, एक ShowPeopleListActivity को बढ़ाती है जो लोगों को दिखाती है, और इसी तरह से आगे।
मैं देख रहा हूँ एक lotofStackOverflowquestions/उत्तर कह रही है कि रास्ते में विभिन्न सीमाओं के कारण TabHost सेटअप है, यह टैब की सामग्री के रूप में उपयोग करने के लिए गतिविधियों नहीं सबसे अच्छा है। उदाहरण के लिए, एक नई गतिविधि लॉन्च करना असंभव है और यह एक टैब के भीतर मौजूदा गतिविधि की जगह ले लेता है, जबकि एक दृश्य को एक अलग दृश्य के साथ स्विच करना संभव है।
अब, मैं एक चौराहे पर हूं। हमने (बेहतर या बदतर के लिए) इस ऐप को वर्तमान में संरचित तरीके से काम करने के लिए एक उचित समय समर्पित किया है, जिसमें टैब की सामग्री के रूप में गतिविधियां हैं। जब किसी व्यक्ति, प्लेस या इवेंट से संबंधित आइकन क्लिक किया जाता है, तो वह उस ऑब्जेक्ट से संबंधित यूआरआई पर एक दृश्य उद्देश्य को बंद कर देता है; यह एक गतिविधि द्वारा उठाया जाता है जो तब वस्तु को दिखाता है। मानचित्र और व्यक्तिगत सूचियों में दोनों ही कार्य एक ही काम पर हैं। हम वास्तव में ढीले युग्मन को पसंद करते हैं जो हमें प्रदान करता है; हम सिर्फ एक दृश्य आदेश और यूआरआई व्यक्ति/स्थान/घटना के लिए देते हैं और यह स्वचालित रूप से हमें सही गतिविधि में लाता है। अनुमोदित, जिस गतिविधि को लॉन्च किया गया है, उसके अंदर दिखाई देने के बजाय टैब दृश्य को शामिल करता है, लेकिन हम इसके साथ रहने के लिए तैयार थे।
यहां एक समस्या है हालांकि: शो गतिविधि से, हम उस व्यक्ति, स्थान या घटना पर केंद्रित मानचित्र पर वापस जाने में सक्षम होना चाहते हैं। हम मानचित्र को फिर से दिखाने के लिए एक नई गतिविधि लॉन्च कर सकते हैं, लेकिन अब हमारे पास टैब की सामग्री के रूप में नक्शा गतिविधि है, साथ ही शो गतिविधि, और गतिविधि स्टैक में नई मानचित्र गतिविधि; यह देखते हुए कि संसाधन गतिविधि गहन संसाधन कैसे है, मुझे लगता है कि यह जाने का आदर्श तरीका नहीं है।
मुझे लगता है कि मेरा सवाल है, क्या कोई अच्छा ट्यूटोरियल कहीं दिखा रहा है कि टैबहोस्ट के साथ जटिल कार्य कैसे करें? मैंने HelloTabWidget देखा है; मैं इससे कुछ ज्यादा परिष्कृत खोज रहा हूं। मुझे चिंता है कि अगर हम चीजों को करने के दृश्य आधारित तरीके पर स्विच करते हैं, तो हमें सभी पिछली घटनाओं को रोकने, विचारों को बदलने की कोशिश इत्यादि के साथ-साथ घर के रख-रखाव के लिए बहुत कुछ करना होगा, साथ ही साथ दृढ़ता से हमारे कार्यक्रम को एक तरह से जोड़ना जो हम नहीं चाहते हैं।
किसी भी तरीके से आगे के सुझावों की अत्यधिक सराहना की जाएगी। हम एंड्रॉइड के लिए नए हैं इसलिए हम स्थापित सर्वोत्तम प्रथाओं का पालन करने की कोशिश कर रहे हैं, लेकिन यह मुश्किल है जब हमने देखा कि कुछ उदाहरण हमारे उपयोग के मामले के लिए बहुत सरल हैं।
ठीक है, मैं आपका मुद्दा देखता हूं कि यदि हम सभी इरादों को उसी तरह स्थापित करते हैं, और शो गतिविधि लॉन्च की जाती है, तो पिछली घटनाओं को ठीक उसी तरह से संभाला जाता है। तो मुझे लगता है कि असली जटिलता (और पिछला घटना दर्द) होगा यदि हम प्रोग्राम किए गए रूप से लॉन्च किए गए इरादे के बजाय टैब की सामग्री को स्विच करते हैं। जैसे लोग टैब जो आम तौर पर लोगों की सूची प्रदर्शित करता है उसे किसी व्यक्ति को क्लिक किए जाने पर व्यक्ति को देखने के लिए स्विच करने के लिए कहा जाता है। उस स्थिति में हमें अपने विचारों के ढेर से निपटना होगा? – I82Much
इसके अलावा, किसी टैब की सामग्री के बिना गतिविधि के बिना किसी टैब के अंदर नक्शा कैसे हो सकता है? क्या यह संभव है? – I82Much
w/r/t आपकी पहली टिप्पणी, हां, आपको अपना खुद का ढेर प्रबंधन करना होगा। w/r/t आपकी दूसरी टिप्पणी, हाँ आप AFAIK कर सकते हैं। अपनी मुख्य गतिविधि को टैबएक्टिविटी की बजाय मानचित्र क्रियाशीलता बनाएं। आपके लिए TabActivity केवल एक ही चीज है जो आपके टैबहोस्ट पर स्वचालित रूप से कॉल सेटअप() है, जिसे आपको किसी भी टैबस्पेक्स जोड़ने से पहले स्वयं को करने की आवश्यकता होगी। फिर, MapActivity आपको मानचित्र को एक टैब में डालने के लिए आवश्यक बनाता है। यह संभव है कि यहां समस्याएं हैं, लेकिन कफ से मुझे लगता है कि इसे ठीक काम करना चाहिए। – CommonsWare