मैं अपनी अधिकांश परियोजनाओं में हमेशा onclick()
ईवेंट का उपयोग कर रहा हूं। लेकिन, मैंने OnClickListener()
पढ़ा है। क्या कोई बता सकता है कि इन दोनों के बीच क्या अंतर है? और एंड्रॉइड एप्लिकेशन में कौन सा सबसे अच्छा उपयोग करना है?OnClick() ईवेंट और OnClickListener के बीच अंतर?
उत्तर
मुझे यकीन नहीं है कि प्रश्न स्पष्ट है। View.OnClickListener
एक इंटरफ़ेस है, जो onClick(View)
विधि को परिभाषित करता है। यदि आपके पास एक वर्ग है जो क्लिकों को सुनना चाहता है, तो आपको इंटरफ़ेस को लागू करना चाहिए (यदि पहले से ही कक्षा को विस्तारित नहीं कर रहा है), और इस विधि को भी लागू करें। आपको दोनों का उपयोग करना होगा; वे किसी भी तरह के विकल्प नहीं हैं।
इतनी दुखी है कि एंड्रॉइड में एक वोटिंग रिंग है जो सही उत्तरों को कम करती है :( – Reno
OnClickListener
वह इंटरफ़ेस है जिसे आपको कार्यान्वित करने की आवश्यकता है और जावा कोड में एक दृश्य में सेट किया जा सकता है।
हाल ही में एंड्रॉइड ने android:onclick
नामक विचारों पर एक एक्सएमएल विशेषता जोड़ा, जिसका उपयोग सीधे किसी भी इंटरफ़ेस को लागू किए बिना दृश्य की गतिविधि में क्लिक को संभालने के लिए किया जा सकता है।
दोनों एक ही तरीके से कार्य करते हैं, बस एक जावा कोड के माध्यम से और दूसरा एक्सएमएल कोड के माध्यम से सेट हो जाता है।
OnClickListener onclick निर्धारित करता है क्या होता है जब किसी को
क्लिक करता है श्रोता एक वर्ग है, onclick एक विधि है, इस तरह के अंतर नहीं साधारण मामलों में बहुत उपयोगी है, लेकिन अगर आप, क्या इंतजार कर रहा है कोई वास्तव में क्लिक करने के लिए है और अधिक जटिल इसे और अधिक आवश्यक हो जाता है होना चाहता हूँ
+1 संक्षिप्त विवरण के लिए +1 के लिए +1 .. –
हम
public void button_onClick_name(View v)
{
-------
}
का उपयोग कक्षा से बाहर एक विधि को परिभाषित करने के। लेकिन किसी घटक को परिभाषित करने के लिए किसी कक्षा के भीतर ईवेंट क्लिक करें, हम ऑनक्लिक श्रोता का उपयोग करते हैं।
मुझे लगता है कि आप onClick
द्वारा मानते हैं कि आप एक्सएमएल लेआउट में परिभाषित करते हैं। ये दोनों वैकल्पिक हैं जो समान कार्य करते हैं लेकिन अलग-अलग लागू होते हैं।
onClick
एक्सएमएल लेआउट में बाध्यकारी समारोह के साथ onClick और समारोह है कि यह फोन करेगा के बीच एक बाध्यकारी है। फ़ंक्शन पर क्लिक करने के लिए फ़ंक्शन में एक तर्क (View
) होना चाहिए।एक
OnClickListener
एक इंटरफ़ेस है जो कोई भी वर्ग लागू कर सकता है। चूंकि यह एक इंटरफ़ेस है कि कोई भी वर्ग कार्यान्वित कर सकता है, इसके रूप में इसमें अधिक लचीलापन और अधिक जटिल है। कुछ लचीलापन आपOnClickListener
- साथ हो सकता है आप आसानी से दूसरे के साथ एक श्रोता कार्यान्वयन स्वैप सकता है अगर आप की जरूरत है।
- एक
OnClickListener
आपको ईवेंट ईवेंट को ट्रिगर करने वालेView
से क्लिक ईवेंट की क्रिया/व्यवहार को अलग करने में सक्षम बनाता है। सरल मामलों के लिए यह जटिल घटना प्रबंधन के लिए इतना बड़ा सौदा नहीं है, इसका मतलब यह हो सकता है कि कोड OnClickListener
एक इंटरफेस है, जो वर्ग लागू करता है, उदाहरण आवृत्ति और विधियों को निर्धारित करने में लचीलापन है कि घटना को संभालने के लिए इसकी जरूरत है। फिर, यह साधारण मामलों में एक बड़ा सौदा नहीं है, लेकिन जटिल मामलों के लिए, हम ईवेंट को ट्रिगर करने वाले दृश्य के कोड के साथ ईवेंट हैंडलिंग से संबंधित चर/विधियों को जरूरी नहीं करना चाहते हैं।
एक आदमी है जो अपने अनुप्रयोग के बटन पर क्लिक करें करने के लिए अपने उपयोगकर्ता इंतज़ार कर रहा है के रूप में "OnClickListener" पर विचार करें। फिर आपका लड़का आपकी विधि ऑनक्लिक() निष्पादित करेगा।
आपको अपनी एक्सएमएल फ़ाइल में अपने बटन पर एक आईडी डालना है, फिर इसे अपनी MainActivity.java फ़ाइल में एक नाम दें। फिर अपने लड़के को एक क्लिक श्रोता सेट करें। और अपनी ऑनक्लिक विधि जोड़ें। क्यों onClick इंटरफ़ेस View.OnClickListener करने के लिए बाध्य कर रहा है यही कारण है कि: https://developer.android.com/reference/android/view/View.OnClickListener.html
उदाहरण:
Button myButton = (Button)findViewById(R.id.myButton);
myButton.setOnClickListener(new View.OnClickListener(){
@override
public void onClick(View v) {
// your method...
}
}
जानने के कुछ कारणों से आप प्रोग्राम के रूप में एक OnClickListener
सेट कर सकते हैं कर रहे हैं। पहला यह है कि यदि आप कभी भी अपने ऐप के चलते अपने बटन का व्यवहार बदलना चाहते हैं। आप अपने बटन को किसी अन्य विधि पर पूरी तरह से इंगित कर सकते हैं, या OnClickListener
सेट करके बटन को अक्षम कर सकते हैं जो कुछ भी नहीं करता है।
जब आप onClick
विशेषता का उपयोग करके श्रोता को परिभाषित करते हैं, तो दृश्य उस होस्ट के साथ केवल अपनी मेजबान गतिविधि में एक विधि की तलाश करता है। प्रोग्रामिंग रूप से OnClickListener
सेट करने से आप अपनी मेजबान गतिविधि के अलावा कहीं से किसी बटन के व्यवहार को नियंत्रित कर सकते हैं। यह Fragments
, Fragments
के लिए बहुत प्रासंगिक हो जाएगा, हमेशा अपने बटन को नियंत्रित करने के लिए OnClickListeners
का उपयोग करने की आवश्यकता है, क्योंकि वे गतिविधियां नहीं हैं, और onClick
में परिभाषित श्रोताओं के लिए खोज नहीं की जाएगी।
Button button = (Button)findViewById(R.id.buttonId);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Do stuff
}
});
OnClickListener एक अंतरफलक और onClick है OnClickListener की विधि है।
आप अपने XML में android:onClick="your_method"
विशेषता जोड़ सकते हैं।
उदाहरण:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click"
android:onClick="your_method"/>
हम java
कोड में xml में OnClick
और OnClickListner
का उपयोग करें। दोनों एक समारोह करने के लिए उपयोग कर रहे हैं।
जब हम जावा कोड में बटन पर क्लिक श्रोता जोड़ना चाहते हैं, तो हम OnClickListener
का उपयोग करते हैं।
हम लेआउट फ़ाइल में बटन को क्लिक श्रोता जोड़ने के लिए चाहते हैं, हम android:onClick="your_method"
का उपयोग आप XML संस्करण का उपयोग करते हैं, आप अपने ऐप कक्षा में your_method
को लागू करना चाहिए।
कुछ कारण हैं कि आप प्रोग्रामिक रूप से ऑनक्लिक लिस्टनर क्यों सेट करना चाहते हैं। पहला यह है कि यदि आप कभी भी अपने ऐप के चलते अपने बटन का व्यवहार बदलना चाहते हैं। आप अपने बटन को किसी अन्य विधि पर पूरी तरह से इंगित कर सकते हैं, या केवल ऑनक्लिक लिस्टनर सेट करके बटन को अक्षम कर सकते हैं जो कुछ भी नहीं करता है।
जब आप ऑनक्लिक विशेषता का उपयोग करके श्रोता को परिभाषित करते हैं, तो दृश्य उस होस्ट के साथ केवल अपनी मेजबान गतिविधि में एक विधि की तलाश करता है। प्रोग्रामेटिक रूप से ऑनक्लिक लिस्टनर सेट करने से आप अपनी मेजबान गतिविधि के अलावा कहीं और बटन के व्यवहार को नियंत्रित कर सकते हैं।यह बहुत प्रासंगिक हो जाएगा जब हम टुकड़ों के बारे में जानेंगे, जो मूल रूप से मिनी गतिविधियां हैं, जिससे आप अपने जीवन चक्र के साथ विचारों का पुन: प्रयोज्य संग्रह बना सकते हैं, जिसे गतिविधियों में इकट्ठा किया जा सकता है। टुकड़ों को हमेशा अपने बटन को नियंत्रित करने के लिए OnClickListeners का उपयोग करने की आवश्यकता होती है, क्योंकि वे गतिविधियां नहीं हैं, और ऑनक्लिक में परिभाषित श्रोताओं के लिए खोज नहीं की जाएगी।
हर किसी ने OnClickListener
श्रोता के बारे में उल्लेख किया है जिसका उपयोग हमेशा किया जाता है। मैं एक और बिंदु जोड़ना चाहता हूं विधि के रूप में काम करता है और इसे संदर्भित करने की आवश्यकता नहीं है, इसलिए जब आप कुछ कार्य निष्पादित किए जाने के बाद बटन जोड़ना चाहते हैं तो यह उपयोगी होता है ताकि आप इसे OnClickListener
के लिए संदर्भित नहीं कर सकें।
example
लिए
जब हम केवल लेआउट (कोई टुकड़े) अगर आप किसी भी लेआउट में एक बटन डाल यह केवल insialized जब लेआउट दिखाई तो आप विधि findViewById
बटन के लिए उस मामले उपयोगी becomed में उपयोग नहीं कर सकते बस डाल के साथ viewpager बनाने गतिविधि में वह विधि !!
यहां सरल शब्दावली है यदि आप घर पर हैं और यू किसी को फोन करना चाहते हैं .. आप सीधे कॉल कर सकते हैं और वे आपको सुन सकते हैं। (ऑनक्लिक का उपयोग करें)। लेकिन अगर आप बाहर हैं और आप घर पर किसी को फोन करना चाहते हैं तो आपको फोन या इंटरनेट का उपयोग करने की ज़रूरत है। (ऑनक्लिकलिस्टर का उपयोग करने की आवश्यकता है)। एंड्रॉइड में सब कुछ घर से शुरू होता है, आईई। main_activity इस तरह एंड्रॉइड यार काम को आसान बनाता है; जब आपके पास एक गतिविधि होती है तो आपको श्रोता को संलग्न करने, ऑब्जेक्ट बनाने, और इसे परिभाषित करने की आवश्यकता नहीं होती है। बस क्लिक करेंक्लिक। ऑनक्लिकलिस्टर आमतौर पर टुकड़ों में उपयोग किया जाता है। तो कोडिंग रखें।
- 1. onclick() और onClientClick() के बीच अंतर?
- 2. onClickListener और onItemClickListener
- 3. बटन.क्लिक ईवेंट और button.command ईवेंट के बीच क्या अंतर है?
- 4. लोड ईवेंट के बीच अंतर, ईवेंट सक्रिय करें और फॉर्म
- 5. क्लिक और ड्रैग/ड्रॉप ईवेंट के बीच अंतर कैसे करें?
- 6. ऑनलोड लोड और लोड ईवेंट के बीच अंतर?
- 7. jquery.simulate.js और jQuery ईवेंट विधियों के बीच अंतर?
- 8. जावास्क्रिप्ट - ईवेंट हैंडलर और श्रोता के बीच क्या अंतर है?
- 9. document.createElement ("वें") के लिए onClick ईवेंट जोड़ें
- 10. "। +" और "। +?" के बीच अंतर
- 11. OnClickListener GridView
- 12. WH_KEYBOARD और WH_KEYBOARD_LL के बीच अंतर?
- 13. OnClickListener पर टैब
- 14. पूर्णता चर और सेमफोर के बीच अंतर
- 15. AJAX के बीच अंतर और
- 16. CMake: $ {} और के बीच अंतर "$ {}"
- 17. ऑब्जेक्ट और * के बीच अंतर?
- 18. $ के बीच अंतर? और PowerShell
- 19. == और मामले के बीच अंतर?
- 20. "या" और "||" के बीच अंतर
- 21. वीबीए: और + के बीच अंतर
- 22. onClick
- 23. एंड्रॉइड - Achartengine XYScatter OnclickListener
- 24. jQuery href और onclick जुदाई
- 25. TextView onClick एक टैप
- 26. एंड्रॉयड onClick विधि
- 27. कैप्चर LinearLayout onClick घटनाओं
- 28. OnClickListener क्लिक करने योग्य विशेषता
- 29. एंड्रॉयड :: OnTouchListener && OnClickListener संयोजन मुद्दा
- 30. onClick
आपने गलत जवाब स्वीकार कर लिया है। शॉन ओवेन या उपयोगकर्तासेवन 7 सही है। – Reno
संभावित डुप्लिकेट [एंड्रॉइड वास्तव में कैसे करता है: ऑनक्लिक एक्सएमएल विशेषता setOnClickListener से अलग है?] (Http://stackoverflow.com/questions/4153517/how-exactly-does-the-androidonclick-xml-attribute-differ-from- setonclicklistener) –