संभव डुप्लिकेट:
Difference between OnClick() event and OnClickListener?श्रोताओं बटन पर क्लिक करें
मैं Android विकास के लिए अर्द्ध नया हूँ और जब मैं पहली बार शुरू किया मैं किसी भी द्वारा XML लेआउट का उपयोग कर से बचने के लिए करने की कोशिश की इसका मतलब है कि मेरी कुछ पिछली परियोजनाओं में ऐसे बटन शामिल हैं जो स्पष्ट रूप से ऑनक्लिक लिस्टनर बनाते हैं और इसे अज्ञात आंतरिक वर्ग के रूप में कार्यान्वित करते हैं। जैसे -
final Button button = new Button(this);
button.setText("Click to change second line of text");
OnClickListener buttonListener = new View.OnClickListener() {
boolean clicked = false;
int numClicks = 0;
@Override
public void onClick(View v) {
if(numClicks > 5) {
button.setText("STOP IT");
}
numClicks++;
if(clicked == false){
clicked = true;
tv2.setText("Text Changed on Button Click");
}
else
{
clicked = false;
tv2.setText("Click again");
}
}
};
button.setOnClickListener(buttonListener);
लेकिन जैसा कि मैंने एंड्रॉयड से अधिक परिचित मिल गया, मैं इस
<Button
android:id="@+id/button1"
android:layout_height = "wrap_content"
android:layout_width ="wrap_content"
android:text = "lets do this"
android:onClick = "DoIt"
/>
लेआउट एक्सएमएल में, जहां छदाम परिभाषित किया गया था की तरह एक्सएमएल लेआउट के मूल्य और लागू बटन को समझने लगे जावा में
मेरा सवाल है, क्या ये 2 विधियां कार्यात्मक रूप से एक ही चीज़ हैं? क्या दृश्यों के पीछे कहीं संकलक द्वारा ऑनक्लिक लिस्टनर परिभाषित किया जा रहा है? क्या कोई ऐसी विशेषताएं हैं जो आप एक तरफ या दूसरे का उपयोग कर व्यापार करते हैं?
संभाल लेंगे [यहां विरासत में मिला विधि
onClick()
जोड़ने की जरूरत है अपनेonCreate()
में जोड़ना है एक उपयोगी चर्चा है ] (http://stackoverflow.com/a/7453469/1154026) मुझे लगता है कि आपके प्रश्न के साथ मदद मिलेगी। – VicVu
आप क्लिक श्रोता को तीन तरीकों से सेट कर सकते हैं, 1. प्रत्येक तत्व के लिए व्यक्तिगत क्लिक श्रोता सेट करना। 2. गतिविधि में OnClickListener लागू। 3. बटन को संभालने के लिए एक अलग फ़ंक्शन बनाना और इस फ़ंक्शन को xml में जोड़ें। आप यहां इन उदाहरणों को पा सकते हैं http://wiki.workassis.com/android-three-ways-to-set-click-listener/ –