13

मैं एक सूची दृश्य के आइटम पर ऑनक्लिक लिस्टनर सेट करना चाहता हूं लेकिन मुझे दो विधियां setOnItemClickListener और setOnItemSelectedListener दिखाई देती हैं। मैंने आधिकारिक दस्तावेज़ों में इन दोनों के लिए किसी भी उचित स्पष्टीकरण को पाया। किस उद्देश्य के लिए उपयोग करने के लिए कौन सा?setOnItemClickListener VS setOnItemSelectedListener ListView में।

कोई आइटम चुनने के लिए, उपयोगकर्ता को आइटम पर क्लिक करना होगा, फिर विभिन्न विधियों का उपयोग क्या होगा?

उत्तर

20

यह आइटम

तरह

क्लिक किया जाता है (एकल चयन) बनाम आइटम का चयन किया (एकाधिक चयन में प्रयुक्त)

+0

ठीक है..यह उचित लगता है। –

+0

उम्मीद है कि यह आपकी मदद की !! एकल चयन और एकाधिक चयन के बीच भिन्नता के लिए –

+2

+1। एक खोज से यहां लैंडिंग किसी और के लिए ध्यान देने योग्य मूल्य है कि एकल चयन सेटिंग सूची द्वारा सेट किया जा सकता है View.setChoiceMode (ListView.CHOICE_MODE_SINGLE) –

3

आवश्यक नहीं है। आपके पास एक सूची दृश्य हो सकता है जो कुंजीपटल या एक्सीलरोमीटर के साथ नेविगेशन योग्य होगा। किसी आइटम पर क्लिक करने के लिए इसे चुनने की आवश्यकता नहीं है - कुछ अन्य घटना होने तक चयन को अवरुद्ध करने के बाद शायद कुछ चुनने के बाद।

यदि आप किसी आइटम के चयन पर प्रतिक्रिया करना चाहते हैं तो सभी प्रयोजनों के लिए setOnItemSelectedListener का उपयोग करें, लेकिन यदि आप उन पर क्लिक करने वाले उपयोगकर्ता पर प्रतिक्रिया देना चाहते हैं तो setOnItemClickListener पर जाएं।

0

मुझे लगता है कि OnItemSelectedListener को तब लिखा जाता है जब सूची में कोई आइटम किसी कीपैड की नेविगेशन कुंजी का उपयोग करके या टाइलबॉल का उपयोग करके चुना जाता है। तरीकों के लिए इन के बीच

4

अंतर उनके विवरण में प्रस्तुत किया है:

has been selected vs has been clicked 

वास्तव में, अंतर सिर्फ चयनित और के बीच वैसा ही है जैसा एंड्रॉयड मामले में क्लिक किया। इसे हाइलाइट की तरह चुनें, कृपया चयनित राज्य here (एंड्रॉइड: state_selected के तहत) के बारे में अधिक विस्तृत स्पष्टीकरण देखें। एंड्रॉइड शर्तों में दबाए गए पर क्लिक करें और उसी लिंक के तहत वर्णित है लेकिन एंड्रॉइड के तहत: state_pressed।

+0

मैं इसे पढ़ूंगा। –

-1

मुझे यकीन है कि नहीं कर रहा हूँ लेकिन यह मेरी opinion.Might गलत हो रहा है। setOnItemClickListener: इस एडाप्टर व्यू में किसी आइटम पर क्लिक होने पर कॉलबैक को कॉल करने के लिए पंजीकृत करें। यह हमेशा सत्य वापस आ जाता है।

setOnItem चयनित चयनकर्ता: इस एडाप्टर व्यू में किसी आइटम पर क्लिक किए जाने पर कॉलबैक पंजीकृत किया जाए। यह सच और भी गलत हो जाता है। यदि कोई आइटम नहीं चुना गया है तो यह दिखाएगा कि कुछ भी नहीं चुना गया है। यह केवल उपयोगकर्ता के लिए मजबूर है जो एक विकल्प का चयन करता है। किसी आइटम का चयन करें और उसके बाद बस उस तरह का चयन करें। लेकिन जब उपयोगकर्ता किसी आइटम का चयन करना भूल गया तो अगर उपयोगकर्ता को भी याद आएगा कि उसने कोई विकल्प नहीं चुना है।