2012-04-10 2 views
0

OnGestureListener의 onScroll 이벤트에 문제가 있습니다. 다음과 같이Android OnGestureListener onScroll MotionEvent

메소드 서명은 다음과 같습니다

public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY); 

문제는 MotionEvent E1은 항상 첫 번째 스크롤 한 후 같은 것으로 보인다는 것이다. 예를 들어 첫 번째 srcolling에서 e1.getX()를 수행하면 100을 반환합니다. 스크롤을 멈추고 두 번째 스크롤을 화면의 다른 지점에서 시작하면 100도됩니다. MotionEvent e2 만 값을 변경합니다.

답변

2

e1은 항상 터치 이벤트 (ACTION_DOWN 이벤트)의 초기 동작 이벤트입니다. e2은 현재 모션 이벤트입니다.

+0

글쎄,하지만 두 번째 스크롤을 할 때, 나는 화면에서 손가락을 떼어내어 스크롤을 멈추었을 때 두 번째 스크롤링을 시작합니다. e1은 여전히 ​​동일합니다 ... 항상 첫 번째가 아니어야합니다. 처음 터치하지 않고 스크롤 할 때 터치하면됩니까? –

+0

두 개의 개별 스크롤간에 해시 코드가 동일하거나 다른지 확인할 수 있습니까? –

+0

그것은 내 프레임 워크에서 touchevents를 버퍼링 할 때 버그가 있습니다 ... 기본 OnTouchListener를 사용할 때 작동합니다 ... –