2011-11-14 15 views
16

मुझे पता है कि ListAdapter एक इंटरफ़ेस है और ArrayAdapter एक वर्ग है। तो हम केवल ArrayAdapter को तुरंत चालू कर सकते हैं। मैं एक कोडएंड्रॉइड में ArrayAdapter और ListAdapter के बीच अंतर?

ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songNames); 

मिले लेकिन मैं क्या सटीक स्थानों हम ListAdapter की जरूरत है में

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songsArray); 

तो मैं जानना चाहता हूँ के साथ एक ही बात करना है, कर रहा था?

आप

उत्तर

25

धन्यवाद यह एंड्रॉयड से संबंधित नहीं है। लेकिन एक सामान्य जावा सवाल।

जब आप अपने चर के प्रकार के रूप में ListAdapter का उपयोग करते हैं, तो आप वास्तव में इंटरफ़ेस में रुचि रखते हैं। में उपलब्ध नहीं होने पर आपको ArrayAdapter<String> की कुछ विशिष्ट विधि कॉल करने में रुचि नहीं हो सकती है। यह मुख्य रूप से इसलिए है क्योंकि आप दृश्य के लिए एडाप्टर को सूची एडाप्टर के रूप में असाइन करेंगे।

यदि आपको वास्तव में कुछ विशिष्ट तरीकों को कॉल करने की आवश्यकता है तो आप सटीक प्रकार ArrayAdapter<String> का उपयोग कर सकते हैं।

यह सब आपके उपयोग के मामले पर निर्भर करता है।

0

BaseAdapter इसका एक बहुत ही सामान्य अनुकूलक कि आप उतना जो चाहें करें करने के लिए अनुमति देता है। यह सभी एडाप्टर का बेस क्लास है।

ऐरेएडाप्टर यह एक और पूर्ण कार्यान्वयन है जो सरणी या ऐरेलिस्ट में डेटा के लिए अच्छी तरह से काम करता है। इसी तरह, एक संबंधित कर्सर एडाप्टर है जिसका उपयोग आप कर सकते हैं यदि आपका डेटा कर्सर में है। इनमें से दोनों बेसएडाप्टर

का विस्तार करते हैं
संबंधित मुद्दे