Przesłałem ScrollView
, aby przekazać MotionEvent
s do GestureDetector
, aby wykryć zdarzenia rzutu na ScrollView. Muszę być w stanie wykryć, kiedy przewijanie się zatrzymuje. Nie pokrywa się to ze zdarzeniem MotionEvent.ACTION_UP
, ponieważ zazwyczaj dzieje się to na początku gestu rzucania, po którym następuje seria wywołań onScrollChanged()
w widoku przewijania.Wykryj koniec rzucania na ScrollView
Więc w zasadzie to, co mamy do czynienia ze tutaj jest następujące zdarzenia:
- onFling
- onScrollChanged, onScrollChanged, onScrollChanged, ..., onScrollChanged
Nie ma oddzwanianie do kiedy Zdarzenia onScrollChanged są uruchamiane. Myślałem o wysłaniu wiadomości do kolejki zdarzeń za pomocą Handler
podczas onFling i czekając na wykonanie Runnable
, aby zasygnalizować koniec rzutu, niestety wystrzeliwuje po pierwszym wywołaniu onScrollChanged.
Jakieś inne pomysły?
Tak, jak wspomniałem w moim pytaniu, że podejście nie działa. –
Czy widziałeś/wypróbowałeś moją odpowiedź? –