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
。