Android 双击触发两次

标签 android touch gestures

我使用了以下双击代码

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/

相关文章:

javascript - 没有点击,只有悬停在浏览器的移动触摸屏上触发

java - libgdx actor touch处理问题

iphone - 使用 UIGestures 删除选定的 uiimage?

android - 在 Android 中对 SparseArray 进行排序

java - Android-无法从 View 转换到按钮

android - 我的程序无法从 Firebase 中的 addChildEventListener 获得结果

Android:InstanceID deleteToken 范围

javascript - 如何检测浏览器是否支持gesturestart事件?

iphone - 长按手势在 iOS 5 和 iOS 5.1 上不起作用(但在 iOS 6 上起作用)

arduino - 使用 IMU 进行手势识别和处理