1: LayoutInflater
अपना लेआउट एक्सएमएल-फाइल लेता है और इसकी सामग्री से विभिन्न व्यू-ऑब्जेक्ट बनाता है।
2: एडेप्टर दृश्यों का पुन: उपयोग करने के लिए बनाए जाते हैं, जब एक दृश्य स्क्रॉल किया जाता है, जो अब दिखाई नहीं दे रहा है, इसका उपयोग नए दृश्यों में से एक के लिए किया जा सकता है। यह पुन: उपयोग किया गया दृश्य convertView
है। यदि यह शून्य है तो इसका मतलब है कि कोई पुनर्नवीनीकरण दृश्य नहीं है और हमें एक नया निर्माण करना है, अन्यथा हमें इसे नया बनाने से बचने के लिए इसका उपयोग करना चाहिए।
3: parent
प्रदान किया गया है ताकि आप उचित लेआउट पैरामीटर के लिए उसमें अपना विचार बढ़ा सकें।
इन सभी को एक साथ प्रभावी ढंग से (जो एक एडाप्टर लेता है या अन्य दृश्य) का मानना है कि अपनी सूची में दिखाई देगा बनाने के लिए इस्तेमाल किया जा सकता है:,
public View getView (int position, View convertView, ViewGroup parent){
if(convertView == null){
//We must create a View:
convertView = inflater.inflate(R.layout.my_list_item, parent, false);
}
//Here we can do changes to the convertView, such as set a text on a TextView
//or an image on an ImageView.
return convertView;
}
सूचना LayoutInflater
के उपयोग कि parent
इस्तेमाल किया जा सकता इसके लिए एक तर्क के रूप में, और कैसे convertView
पुन: उपयोग किया जाता है। एडाप्टर में
कनवर्टव्यू == नल उपयोगी है जब आपके सभी इन्सेंस एक ही लेआउट का पालन करते हैं। जब आपको उदाहरण के लिए रेडियो या चेक बटन की जांच करने की आवश्यकता होती है, और प्रत्येक आइटम के आधार पर लेआउट बदलें, तो आपको फिर से भरना होगा, या कैश किए गए दृश्य को प्राप्त करना होगा। – sagits
कोई भी आवश्यकता नहीं है। बस आपको स्विच लिखने की आवश्यकता है या अगर अन्य सीढ़ी गेटव्यू में है और आपके मामले के अनुसार विचारों को बढ़ाती है, तो सार्वजनिक int getItemViewType (int position) और public int getViewTypeCount() को ओवरराइड करें। @sagits –
यदि कथन आम तौर पर काम करते हैं, लेकिन रेडियो बटनों का उपयोग करते समय, ग्रंथों को संपादित करते हैं और कैश किए गए विचारों का उपयोग करके परेशानी में इन तरह की चीजें चलाती हैं, तो स्टैक ओवरफ़्लो पर इस सामान के बारे में कुछ प्रश्न हैं। – sagits