2011-05-25 6 views
10

Uygulamamın iki EditText öğesi var. Hem böyle OnClickListener uygulamak:EditText arama iletişim kutusunu açmak için iki kez tıklatılması gerekiyor

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

doSomeStuff() şu anlama gelir: metin alanında tıklamak onSearchRequested() üzerinden bir arama iletişim kutusu açar. Arama sonucu metin alanına geri yazılır.

Bu, iyi çalışıyor ancak diğer metin alanını tıklatırsam, arama iletişim kutusu gelmeden önce iki kez tıklamak zorunda kalırım. Bu nereden geliyor ve bunu nasıl değiştirebilirim ki arama diyaloğu sadece bir kez tıklandığında ortaya çıkar?

+0

http://stackoverflow.com/questions/2119072 adresine bakın./android-how-to-do-bir şey-sonra-kullanıcı-tıklamaları-on-benim-edittext – AndrewKS

+0

http://stackoverflow.com/questions/2119072/android-how-to-do-something-after-user-clicks -on-my-EditText/2284973 # 2284973 –

cevap

0

EditText alanları için OnKeyListener kullanmak daha iyidir. KeyEvent içinden geçtikten sonra EditText alanının nasıl tıklandığına/odaklanmaya bağlı olarak farklı şekilde tepki verebilirsiniz. Aksi takdirde, bir OnFocusChangeListener'i deneyebilir veya eklenen her karakteri görmek için TextWatcher'ı kullanmak isterseniz, bir TextWatcher uygulayabilir ve addTextChangedListener kullanabilirsiniz ..