android - Getting item of customized Spinner -
मैंने कस्टम स्पिनर लागू किया है:
सार्वजनिक वर्ग MyAdapter ArrayAdapter को बढ़ाता है & lt; स्ट्रिंग & gt; {सार्वजनिक MyAdapter (संदर्भ संदर्भ, इंट टेक्स्ट व्यूरसोर्सआईडी, स्ट्रिंग [] ऑब्जेक्ट्स) {सुपर (प्रसंग, टेक्स्टव्यूर्ससोर्सआईडी, ऑब्जेक्ट्स); // टूडो ऑटो-जनरेट किया गया निर्माता स्टब} @ ओवरराइड सार्वजनिक देखें getDropDownView (पूर्णांक स्थिति, कन्वर्टव्यू देखें, ViewGroup पैरेंट) {getCustomView वापसी (स्थिति, कन्वर्टव्यू, पेरेंट); } @ ओवरराइड सार्वजनिक देखें getView (पूर्णांक स्थिति, कन्वर्टव्यू देखें, ViewGroup पैरेंट) {return getCustomView (स्थिति, कन्वर्टव्यू, पेरेंट); } सार्वजनिक देखें GetCustomView (int स्थिति, देखें कनवर्ट देखें, ViewGroup माता पिता) {LayoutInflater inflater = getLayoutInflater (); देखें पंक्ति = inflater.inflate (R.layout.spinner, अभिभावक, गलत); टेक्स्टव्यू लेबल = (टेक्स्टदृश्य) पंक्ति.फ़िन्डव्यूबीआईआईडी (आर.ड.टेक्स्टव्यू 1); label.setText (data1 [स्थिति]); छवि दृश्य आइकन = (छविदृश्य) पंक्ति.फ़िन्डव्यूबीआईआईडी (R.id.imageView1); icon.setImageResource (छवियों [स्थिति]); वापसी पंक्ति; }}
और इस तरह एक स्पिनर पर सेट करें:
spinner_choose_network_spinner.setAdapter (नया MyAdapter (यह, आर। लेट। स्पिनर, डेटा 1));
मेरा प्रश्न है कि मैं अपने स्पिनर के वर्तमान चयनित आइटम का टेक्स्ट विज़ुअल मान कैसे प्राप्त करूं?
वस्तु चयन = sp.getSelectedItem ();
यह आपके द्वारा चुने गए आइटम को वापस देता है
आप अपने एडेप्टर में getItem (int position) को लागू करने की आवश्यकता है
< / P>
और आवश्यक आइटम लौटाएंगे, चयन हो जाएगागिटैट (चयनित पद)
मान लें कि आपका GetItem है
सार्वजनिक स्ट्रिंग getItem (इंट की स्थिति) {वापसी डेटा 1 [स्थिति]; }
फिर स्ट्रिंग चयनित = spinner.getSelectedItem ();
वापस data1 [selectedPosition]
/>
सादगी के लिए मैं आपको एक नया ऑब्जेक्ट बनाने का सुझाव देता हूं
सार्वजनिक वर्ग MyCustomObject {String title; Int imageResource; }
और आपकी डेटा सारणी तब होगी
ArrayList & lt; MyCustomObject & gt; डेटा = नया ArrayList & lt; MyCustomObject & gt; ();
किसी भी तरह इस सरणी को पॉप्युलेट करें
और अब आपकी पंक्ति होगी
सार्वजनिक देखें getCustomView (इंट की स्थिति, कनवर्टव्यू देखें, व्यू समूह अभिभावक देखें ) {लेआउट इनफ्लेटटर इन्फ्लाएर = मिलन-लेआउट इन्फ्लेटर (); देखें पंक्ति = inflater.inflate (R.layout.spinner, अभिभावक, गलत); टेक्स्टव्यू लेबल = (टेक्स्टदृश्य) पंक्ति.फ़िन्डव्यूबीआईआईडी (आर.ड.टेक्स्टव्यू 1); label.setText (data.get (स्थिति) .title); छवि दृश्य आइकन = (छविदृश्य) पंक्ति.फ़िन्डव्यूबीआईआईडी (R.id.imageView1); icon.setImageResource (data.get (स्थिति) .imageResource); वापसी पंक्ति; }
और उसके बाद आपका GetItem होगा
सार्वजनिक MyCustomObject getItem (int स्थिति) {return data.get (स्थिति); }
और फिर आपका चयन हो जाएगा
MyCustomObject चयन = spinner.getSelectedItem ();
और आप selection.title
देख सकते हैं साथ ही साथ selection.imageResource
यदि आपको इसकी आवश्यकता होगी
Comments
Post a Comment