我使用手势来捕捉触摸事件,但是当我长按时触发两个事件。 我怎么能在按住按钮时禁用onDown事件? 这是我的代码。
final GestureDetector gestureDetector = new GestureDetector(
new GestureDetector.SimpleOnGestureListener() {
public void onLongPress(MotionEvent e) {
Toast.makeText(mContext,
"long" + position + counter++,
Toast.LENGTH_SHORT).show();
}
public boolean onDown(MotionEvent e) {
Toast.makeText(mContext,
"touch" + position + counter++,
Toast.LENGTH_SHORT).show();
return true;
}
});
category.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
});
答案 0 :(得分:0)
您可能想要使用abstract boolean onSingleTapUp(MotionEvent e)
。
您正在使用的回调public boolean onDown(MotionEvent e)
在所有手势开始时触发(当手指触摸屏幕时)。
无论手势是单击,长按还是其他任何手势都只能在手势结束时(当您松开手指时)检测到。