EditText需要点击两次打开搜索对话框

问题描述:

我的应用程序有两个EditText元素。这两种实现OnClickListener这样的:EditText需要点击两次打开搜索对话框

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

doSomeStuff()表示:单击文本字段,通过onSearchRequested()打开一个搜索对话框。搜索结果被写回到文本字段。

这工作正常,但如果我点击其他文本字段,我总是必须在搜索对话框出现前点击两次。这是从哪里来的?我怎样才能改变这种情况,以便在只点击一次时出现搜索对话框?

+0

请参见http://*.com/questions/2119072的回答/ android-how-to-do-something-after-user-clicks-on-my-edittext – AndrewKS 2011-05-25 21:29:24

+0

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

对于EditText字段,最好使用OnKeyListener。随着KeyEvent中的传递,您可以根据EditText字段获得点击/获得焦点的方式做出不同的反应。否则,您也可以尝试使用OnFocusChangeListener,或者如果您想使用TextWatcher查看添加的每个字符,则可以实现TextWatcher并使用addTextChangedListener ..