2015-12-17 12 views
5

में OnTouch श्रोता को लागू करने के लिए कैसे के रूप में मुझे पता है हम एक्सएमएल लेखन में हम जावा कोड में आसानी से ऐसा नाम है जो एक्सएमएल जैसे में निर्दिष्ट किए उपयोग कर सकते हैं के बाद एक्सएमएल में onClick टैग परिभाषित कर सकते हैंएक्सएमएल

<Button android:id="@+id/mybutton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" 
    android:onClick="myClick" /> 

public void myClick(View v) { 
    // does something very 
} 

1) किसी भी है एक्सएमएल में onTouch को परिभाषित करने का तरीका यदि हां तो कैसे उपयोग करें ???

2) या onClick श्रोता अंदर onTouch श्रोता को लागू करने के किसी अन्य तरीके से;

यहाँ

मेरा लक्ष्य बटन नीचे उल्लेख के रूप में नाम को परिभाषित करने के बिना 100 से अधिक बटन बातचीत करने के लिए है: और भी onTouch कार्यक्षमता ...

Button mbutton; 
    mbutton = (Button)findViewbyId(R.id.button); 

धन्यवाद

+1

मूल रूप से, आप इसके लिए कस्टम प्रॉपर्टी को परिभाषित कर सकते हैं। –

+0

[एंड्रॉइड: ऑनक्लिक श्रोता के लिए एक्सएमएल में टच इन के लिए संभावित डुप्लिकेट] (http://stackoverflow.com/questions/13909217/androidonclick-listener-for-just-ontouch-in-xml) –

+0

दोस्त संभव नहीं – Amy

उत्तर

4

1) एक्सएमएल में टच को परिभाषित करने का कोई तरीका है यदि हां तो कैसे उपयोग करें ???

नहीं, वहाँ कोई डिफ़ॉल्ट एंड्रॉयड आप xml फ़ाइल में स्पर्श घटना परिभाषित करने देता है कि द्वारा प्रदान की विशेषता है, तो आप जावा फाइल में विधि लिखने के लिए की है।

2) या ऑनक्लिक श्रोता के अंदर टच श्रोता को लागू करने का कोई अन्य तरीका;

नहीं, आप onClick() अंदर onTouch() लागू कर सकते हैं नहीं है, क्योंकि onClick ईवेंट कहा जाता हो जाता है जब आप को छूने या क्लिक कहते हैं या पहली बार के लिए स्क्रीन को टैप करें और घटना प्रदर्शन करती है जब आप संपर्क को छोड़ दें। लेकिन यह अपने स्पर्श अर्थात ACTION_DOWN, ACTION_UP आदि

के आंदोलन का पता लगाने के तो अगर आप onTouch() घटना लागू करना चाहते हैं, तो आप इसे लिखने अपने दम पर होगा सक्षम नहीं है।

आप कुछ तंत्र लिख सकते हैं जो आपको onTouch() ईवेंट को आसानी से कार्यान्वित करने दे सकते हैं। लेकिन ऐसा करने के बजाय मैं आपको Butterknife लाइब्रेरी का उपयोग करने का सुझाव दूंगा जो annotation को परिभाषित करके आसानी से onTouch() विधि लिखने देगा। Here's the code उन्होंने एनोटेशन में टच() को कैसे बाध्य किया है (यदि आप अपना स्वयं का तंत्र लिखना चाहते हैं)।

+0

में मुझे पता है कि कोई कस्टम विशेषता नहीं है जिसे हम कस्टम विशेषता परिभाषित कर सकते हैं ??? – Attaullah

+0

अकसर मुझे ACTION_DOWN और UP को ऑनक्लिक में चाहिए लेकिन शर्त यह है कि व्यू क्लास जैसे बटन एमबटन सीधे पहुंच विधि को परिभाषित नहीं करना है। जैसा कि मेरे प्रश्न में उल्लेख है। – Attaullah

+1

@Attaullah संपादित उत्तर – Apurva

0

जहाँ तक मुझे पता है, तो आप के रूप में है कोड सीधे एक्सएमएल में डाल नहीं सकते हैं। अगर मैं गलत हूं कृपया मुझे सही। आपके पास गतिविधि कक्षा में कोड होना चाहिए।