我使用了以下双击代码
setOnTouchListener(this);
detector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDoubleTapEvent(MotionEvent ev) {
int x = (int)ev.getX();
int y = (int)ev.getY();
Toast.makeText(getContext(), "Double tapped", Toast.LENGTH_LONG).show();
}
});
当我运行时,它会运行 toast 两次
有什么想法吗?
在 KitKat 4.4 上运行
感谢任何帮助
标记
最佳答案
发生这种情况可能是因为 onDoubleTapEvent 通知向下、移动和向上事件。在您的情况下,您有向上和向下事件,导致 toast 显示两次。如果您只想验证是否已成功检测到双击,可以使用 onDoubleTap(MotionEvent e) 而不是 onDoubleTapEvent(MotionEvent ev)。
关于Android 双击触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28101146/