मैं हैरान हूं कि किसी ने इस बारे में बात नहीं की, लेकिन सावधान रहें, हालांकि android:onClick
क्लिक को संभालने के लिए एक्सएमएल एक सुविधाजनक तरीका लगता है, setOnClickListener
कार्यान्वयन जोड़ने से कुछ अतिरिक्त है onClickListener
। वास्तव में, इसने दृश्य संपत्ति clickable
को सत्य बना दिया।
हालांकि यह अधिकांश एंड्रॉइड कार्यान्वयनों पर एक समस्या नहीं हो सकती है, फोन निर्माता के अनुसार, बटन हमेशा क्लिक करने योग्य = सत्य के लिए डिफ़ॉल्ट होता है, लेकिन कुछ फोन मॉडल पर अन्य कंस्ट्रक्टरों में गैर-बटन दृश्यों पर डिफ़ॉल्ट क्लिक करने योग्य = गलत हो सकता है।
तो XML को सेट करना पर्याप्त नहीं है, आपको android:clickable="true"
नॉन बटन पर जोड़ने के लिए हर समय सोचना होगा , और यदि आपके पास कोई ऐसा डिवाइस है जहां डिफ़ॉल्ट क्लिक करने योग्य है = सही है और आप इस XML विशेषता को डालने के लिए एक बार भी भूल जाते हैं, तो आप ध्यान नहीं देंगे रनटाइम पर समस्या लेकिन बाजार पर प्रतिक्रिया तब मिलेगी जब यह आपके ग्राहकों के हाथों में होगा!
इसके अलावा, हम कभी भी इस बारे में निश्चित नहीं हो सकते हैं कि प्रोगार्ड एक्सएमएल विशेषताओं और क्लास पद्धति को कैसे बाधित और नाम बदलेगा, इसलिए 100% सुरक्षित नहीं है कि उनके पास एक दिन कभी बग नहीं होगा।
इसलिए यदि आप कभी परेशानी नहीं चाहते हैं और इसके बारे में कभी नहीं सोचते हैं, तो setOnClickListener
एनोटेशन के साथ बटरकाइफ़ जैसी लाइब्रेरियों का उपयोग करना बेहतर है।@OnClick(R.id.button)
onclick
क्योंकि आपको यह सुनिश्चित करने की आवश्यकता है कि हर वर्ग उस पद्धति को लागू करता है। यह मान रहा है कि आप लेआउट का एक से अधिक बार उपयोग कर रहे हैं। हालाँकि, यदि आपके पास यह सुनिश्चित करने के लिए जावा इंटरफ़ेस है कि यह विधि सभी वर्गों में है जिसने इसे लागू किया है, तो आपको चिंता करने की आवश्यकता नहीं होगी।