2011-05-25 80 views
10

我的應用程序有兩個EditText元素。這兩種實現OnClickListener這樣的:EditText需要點擊兩次打開搜索對話框

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-clicks-on-my-edittext – AndrewKS 2011-05-25 21:29:24

+0

http://stackoverflow.com/questions/2119072/android-how-to-do-something-after-user-clicks -on-MY-的EditText/2284973#2284973 – 2011-05-25 21:38:40

回答

0

對於EditText字段,最好使用OnKeyListener。隨着KeyEvent中的傳遞,您可以根據EditText字段獲得點擊/獲得焦點的方式做出不同的反應。否則,您也可以嘗試使用OnFocusChangeListener,或者如果您想使用TextWatcher查看添加的每個字符,則可以實現TextWatcher並使用addTextChangedListener ..