2011-05-25 13 views
10

मेरे एप्लिकेशन में दो संपादन टेक्स्ट तत्व हैं। दोनों इस तरह OnClickListener लागू:संपादन टेक्स्ट को खोज संवाद खोलने के लिए दो बार क्लिक करने की आवश्यकता है

editText1.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     // Open search dialog 
     doSomeStuff(); 
     } 
    }); 

doSomeStuff() का अर्थ है: पाठ क्षेत्र पर क्लिक करके onSearchRequested() के माध्यम से एक खोज संवाद खुलता है। खोज परिणाम टेक्स्ट फ़ील्ड पर वापस लिखा गया है।

यह ठीक काम करता है लेकिन यदि मैं अन्य टेक्स्ट फ़ील्ड पर क्लिक करता हूं तो मुझे खोज संवाद आने से पहले दो बार क्लिक करना होगा। यह कहां से आता है और मैं इसे कैसे बदल सकता हूं ताकि केवल एक बार क्लिक करते समय खोज संवाद आता है?

+0

http://stackoverflow.com/questions/2119072 का शीर्ष उत्तर देखें/android-how-to-do-something-after-user-click-on-my-edittext – AndrewKS

+0

http://stackoverflow.com/questions/2119072/android-how-to-do- कुछ-after-user-clicks ऑन-मेरी-edittext/2284973 # 2284973 –

उत्तर

0

संपादन टेक्स्ट फ़ील्ड के लिए ऑनके लिस्टनर का उपयोग करना बेहतर है। KeyEvent में पारित होने के साथ आप संपादन टेक्स्ट को क्लिक करने/फोकस करने के तरीके के आधार पर अलग-अलग प्रतिक्रिया दे सकते हैं। अन्यथा आप ऑनफोकस चेंजलिस्टर को भी आजमा सकते हैं या यदि आप टेक्स्टवाचर का उपयोग करना चाहते हैं तो प्रत्येक अक्षर को देखने के लिए आप टेक्स्टवैचर को कार्यान्वित कर सकते हैं और addTextChangedListener का उपयोग कर सकते हैं ..

संबंधित मुद्दे