私はGestureDetector.OnGestureListenerをListViewに接続しています。ユーザーが下にスクロールしているときにスクロールイベントをリッスンしようとしています。
private GestureDetector.OnGestureListener mOnGesture = new GestureDetector.OnGestureListener() {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
}
}
しかし、「distanceY」値の非常に奇妙な流れが見られます。
distanceY: -417.02252 // <-- huh?
e1: null
e2: MotionEvent{4097ac08 action=2 x=233.6657 y=417.02252 pressure=0.79999995 size=0.33333334}
distanceY: 1.5640259
e1: null
e2: MotionEvent{4097ac08 action=2 x=233.6657 y=415.4585 pressure=0.79999995 size=0.33333334}
distanceY: 1.5640259
e1: null
e2: MotionEvent{4097ac08 action=2 x=233.6657 y=413.89447 pressure=0.79999995 size=0.40000004}
... rest of values are positive, as expected ...
最初の「distanceY」値は負(予期しない)ですが、その後の値はすべて正です。これを説明できるのは何ですか?この動作を毎回再現できます。
ありがとう