我有一个我附加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;
}
}
我想我在这里做错了,如何修复它(或者至少忽略第二次和第三次调用)?
由于
答案 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..
}
}
});