EditTxt onTouch多次调用

时间:2013-07-08 18:47:49

标签: android

我有一个我附加onTouchListener的EditText:

m_outputField.setOnTouchListener(touchListener);

现在我看到每次实际触摸(点击)都会调用onTouch 3次:

class MyTouchClickListener implements View.OnTouchListener
{
    @Override
    public boolean onTouch(View v, MotionEvent event) 
    {
        //do something

        return true;
    }

}

我想我在这里做错了,如何修复它(或者至少忽略第二次和第三次调用)?

由于

2 个答案:

答案 0 :(得分:10)

这应该解决它:

class MyTouchClickListener implements View.OnTouchListener
{
    @Override
    public boolean onTouch(View v, MotionEvent event) 
    {
        if(event.getAction()==MotionEvent.ACTION_UP)
        {
            //do something
        }
        return true;
    }

}

答案 1 :(得分:0)

要避免此问题,请将您的setOnClickListener()从editText替换为setOnFocusChangeListener()

yourEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if(hasFocus){
           // Do Something Here..
        }
    }
});