SimpleOnGestureListener不检测SurfaceView上的onFling(但确实检测到onDown)

时间:2014-11-15 18:34:54

标签: java android gesture

onDown工作正常,已检测到,调试文本显示在日志中。但是,onFling永远不会在最新API的模拟器和API 16上的手机上调用(没有吐司或调试消息)。

我已经按照Google的例子(third example on this page)跟踪了这个例子,我不认为这是一个碎片问题,因为它没有同时处理这两个问题一个相对较旧的新API。

我已在此处检查了其他相关问题,我的onDown正在返回true,因此它应该传播。

我的onTouchEvent

@Override 
public boolean onTouchEvent(MotionEvent event) {
    this.mDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
}

这是我的SimpleOnGestureListener:

class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
    private static final String DEBUG_TAG = "GESTURE"; 

    @Override
    public boolean onDown(MotionEvent event) { 
        Log.d("DOWN", "CATCH");
        return true;
    }

    @Override
    public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) {
        Toast.makeText(context, "FLING", Toast.LENGTH_SHORT).show();
        Log.d("DOWN", "CATCH");
        return true;
    }
}

任何迹象都将受到高度赞赏。

注意:如果它有任何不同,这是一个扩展的SurfaceView

0 个答案:

没有答案