होनी चाहिए मेरे पास एक गतिविधि में एक सूची दृश्य है और मैं ListView में कस्टम एडाप्टर सेट कर रहा हूं।एंड्रॉइड में एडाप्टर स्थिर आंतरिक कक्षाएं या गैर स्थैतिक आंतरिक कक्षाएं
मेरी एडाप्टर वर्ग होना चाहिए:
private static class MyAdapter extends ArrayAdapter
या
private class MyAdapter extends ArrayAdapter
मुझे लगता है कि यह जब तक एडाप्टर गतिविधि संदर्भ के भीतर संलग्न लेकिन यह है कि इस बात की पुष्टि करना चाहता था है कोई फर्क नहीं करना चाहिए।
(भविष्य के पाठकों के लिए) अंतिम प्रश्न पीछे की तरफ है। यदि आपके पास स्थिर आंतरिक कक्षा है, और गतिविधि/संदर्भ तक पहुंच की आवश्यकता है, तो आपको वीक रेफरेंस का उपयोग करना चाहिए (अगर ऐसी कोई चीज है जो गतिविधि को पार कर सकती है)। यदि कक्षा स्थिर और आंतरिक नहीं है, तो इसका बाहरी वर्ग का एक स्पष्ट संदर्भ है। उस स्थिति में, आपको अभी भी एडाप्टर का उपयोग करने के तरीके के बारे में सावधान रहना होगा। स्थिर का उपयोग करने से अंतर्निहित रिसाव मिल सकती है, लेकिन संदर्भ/कमजोर पड़ने के आसपास गुजरने में ओवरहेड जोड़ता है। – lilbyrdie
इसके अलावा, एक ऑब्जेक्ट में किसी भी कॉल में जो ऑब्जेक्ट लेता है, संदर्भ उपलब्ध है (View.getContext())। आप यह सुनिश्चित करने के लिए उदाहरण का उपयोग कर सकते हैं कि यह आपकी गतिविधि है। – lilbyrdie