2010-01-09 10 views
29

मैं एंड्रॉइड में विकसित करना सीख रहा हूं और इसमें एक सामान्य प्रश्न था: यदि मेरे पास एक लेआउट है जो एक सूची और कुछ अन्य विचारों का उपयोग करता है, तो क्या मुझे अपनी गतिविधि कक्षा के लिए गतिविधि या सूची गतिविधि का उपयोग करना चाहिए?एंड्रॉइड - गतिविधि बनाम सूची सक्रियता - मेरी गतिविधि कक्षा किसको विस्तारित करनी चाहिए?

मुझे पता है कि ListActivity शायद सूची-विशिष्ट घटनाओं को ओवरराइड करने के लिए चीजों को आसान बना देगा, लेकिन गतिविधि पर लिस्ट एक्टिविटी का उपयोग करने के लिए कोई और फायदा है? क्या होगा अगर मैं भविष्य में लेआउट को ग्रिड व्यू में बदलना चाहता हूं? कक्षा कोड बदलने के लिए दर्द का कोई और अधिक दर्द होगा?

मैं इस संबंध में "सर्वोत्तम प्रथाओं" और क्या लाभ आवश्यक के बारे में बस उत्सुक था, इसलिए किसी भी सवाल का जवाब मददगार होगा :)

बारा

उत्तर

43

मैं ListActivity का उपयोग करता हूं क्योंकि यह आपको चीजों को आसान बनाने और आपके कोड को और अधिक पठनीय रखने के लिए बहुत सारी शॉर्टकट विधियां देता है।

उदाहरण के लिए, आपको onListItemClick() method मिलता है जिसे आप किसी भी आइटम पर क्लिक करते हैं जिसे आप एक अलग श्रोता बनाने से बचाते हैं।

यदि आप ListActivity के लेआउट को बदलना चाहते हैं तो भी आप setContentView() method from Activity के साथ कर सकते हैं। जब तक ListView@android:id/list कहा जाता है, तो ViewListActivity में कहीं भी काम करेगा।

यदि आप अभी भी सुनिश्चित नहीं हैं, तो आप हमेशा source code for ListActivity देख सकते हैं और देख सकते हैं कि यह आपके जीवन को थोड़ा आसान बनाने के अलावा अन्य सभी नहीं करता है।

+0

मैं एक ही आधार का उपयोग करने वाले कुछ कोड को दोबारा करने की कोशिश करते हुए इस दृष्टिकोण के साथ गया लेकिन गतिविधि और सूची गतिविधि दोनों। मेरे लेआउट के सामान्य भाग में एक खाली सूची दृश्य रखा और फिर और टैग का उपयोग करके उस सामान्य भाग को साझा किया। –

+0

ListActivity में कुछ बग हैं जो स्वयं को कुछ उपयोग मामले में प्रकट करते हैं। तो ListActivity बहुत ही बुनियादी उपयोग मामले पर संवेदनात्मक रूप से प्रयोग योग्य है। और उस मामले में गतिविधि और ListView का उपयोग करने के लिए काफी सरल है। – Anderson

11

मैं गतिविधि के साथ जाना चाहते हैं। वास्तव में ListActivity का उपयोग करने का कारण न देखें, जब तक कि आप कुछ तुच्छ नहीं करना चाहते हैं और आपको पता है कि यह सूची के साथ होगा।

+0

क्या इसका मतलब है कि गतिविधि पर ListActivity का उपयोग करने के कोई फायदे नहीं हैं और यह सिर्फ "शॉर्टकट" के प्रकार के रूप में है? क्या इसके लिए कुछ प्रकार का मानक है जिसे Google उम्मीद करता है? – Bara

+2

मेरे लिए फायदे हैं जैसे डेव ऊपर बताए गए हैं, कुछ समय बचा रहे हैं और कोड थोड़ा सा क्लीनर बनाते हैं। दस्तावेज़ों में या स्रोत कोड में सूची एक्टिविटी को देखें क्योंकि डेव ने सुझाव दिया है और देखें कि आपको उस सुविधा की आवश्यकता है या नहीं। मैं व्यक्तिगत रूप से, ज्यादातर मामलों में गतिविधि का उपयोग करता हूं। –

+2

मैं सहमत हूं। सूची सक्रियता अभी पर्याप्त नहीं है। यह अभी भी कुछ तुच्छ के लिए अच्छा हो सकता है। –

0

आपको ListActivity की बजाय गतिविधि का उपयोग करना चाहिए क्योंकि ListActivity कोड गैर-पुन: प्रयोज्य हैं और आपको उन्हें बार-बार लिखना होगा।

+1

यह प्रश्न का उत्तर नहीं प्रदान करता है। एक बार आपके पास पर्याप्त [प्रतिष्ठा] (https://stackoverflow.com/help/whats-reputation) हो जाने पर आप [किसी भी पोस्ट पर टिप्पणी कर सकेंगे] (https://stackoverflow.com/help/privileges/comment); इसके बजाय, [उन उत्तरों को प्रदान करें जिन्हें पूछताछ से स्पष्टीकरण की आवश्यकता नहीं है] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-कर-बजाय)। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/18620473) – thewaywewere