आंतरिक वर्ग एडाप्टर है, आंतरिक-आंतरिक वर्ग श्रोता है। श्रोता से एडाप्टर सदस्यों/तरीकों का उपयोग कैसे करें (अस्पष्ट)?दो डबल नेस्टेड अनाम आंतरिक कक्षाएं। प्रथम स्तर के अज्ञात वर्ग के सदस्यों को कैसे प्राप्त करें?
list.setAdapter(new Adapter() {
public View getView() {
// ...
button.setListener(new Listener() {
public void onClick() {
Adapter.this.remove(item);
}
);
}
});
आम तौर पर बाहरी वर्गों के सदस्यों तक पहुँचने के लिए, आप बस Outer.this.member कहते हैं, लेकिन इस मामले में यह मुझे निम्न त्रुटि (वास्तविक वर्ग का प्रयोग करके) दिया:
error: not an enclosing class: ArrayAdapter
तो कैसे क्या आप आंतरिक कक्ष के सदस्यों से आंतरिक-आंतरिक वर्ग तक पहुंच सकते हैं? मुझे मल्टी लेवल नेस्टेड अज्ञात कक्षाएं पसंद नहीं हैं, लेकिन इस मामले में मैं एक नई एपीआई सीख रहा हूं और अभी तक क्लीनर तरीके से सुनिश्चित नहीं हूं। मेरे पास पहले से ही एक कामकाज है लेकिन वैसे भी जानना चाहता था। हटाएं() को आंतरिक-आंतरिक वर्ग द्वारा वास्तव में अस्पष्ट नहीं किया गया है, इसलिए कक्षा को निर्दिष्ट करना इस मामले में वास्तव में आवश्यक नहीं है, लेकिन यह कोड में स्पष्ट करना चाहता है जहां यह निकालना() विधि है। मैं यह भी जानना चाहता था कि यह अस्पष्ट है। मेरा मानना है कि Outer.$6.remove()
का उपयोग करना काम करेगा, लेकिन मुझे विश्वास नहीं है कि यह वही तरीका होना चाहिए।
मैं देखता हूं। मैंने सोचा कि एडाप्टर को पाने के लिए उपयोग करने के लिए एक भाषा वाक्यविन्यास होगा जिसे मैं नहीं जानता था। बीटीडब्ल्यू 'वह' अंतिम होना होगा। – Chloe
मैं इस दृष्टिकोण को पसंद करता हूं क्योंकि यह आसानी से पठनीय और स्पष्ट है। – skrat
मुझे लाइन एडाप्टर पर एक संकलन त्रुटि मिलती है जो = एडाप्टर.थिस; (एडाप्टर एक संलग्न वर्ग नहीं है)। इसके बजाय आपको अंतिम एडाप्टर कहना चाहिए कि = यह .. अगर बिल्कुल .. – sethu