Tôi đã ghi đè ScrollView
để chuyển MotionEvent
s đến số GestureDetector
để phát hiện các sự kiện chạy trên ScrollView. Tôi cần để có thể phát hiện khi di chuyển dừng lại. Điều này không trùng khớp với sự kiện MotionEvent.ACTION_UP
vì sự kiện này thường xảy ra khi bắt đầu cử chỉ thoát, sau đó là một loạt các cuộc gọi onScrollChanged()
trên ScrollView.Phát hiện kết thúc của fling trên ScrollView
Vì vậy, về cơ bản những gì chúng ta đang đối phó với ở đây là sự kiện sau đây:
- onFling
- onScrollChanged, onScrollChanged, onScrollChanged, ..., onScrollChanged
Không có callback cho khi sự kiện onScrollChanged được thực hiện bắn. Tôi đã nghĩ đến việc đăng một thông điệp lên hàng đợi sự kiện bằng cách sử dụng Handler
trong khi onFling và chờ đợi cho Runnable
thực thi để báo hiệu kết thúc của fling, tiếc là nó cháy sau cuộc gọi onScrollChanged đầu tiên.
Bất kỳ ý tưởng nào khác?
Vâng, như tôi đã đề cập trong câu hỏi của tôi rằng cách tiếp cận không hoạt động. –
Bạn đã xem/thử câu trả lời của tôi chưa? –