Trong hầu hết các trường hợp, tôi muốn các sự kiện quan trọng được xử lý bởi chế độ xem (con) hiện có tiêu điểm, đó là hành vi mặc định và cũng là những gì tôi hiện đã triển khai.Trong Android, Ai có thể đánh chặn các sự kiện chính trên toàn cầu trước khi chúng đến được tầm nhìn trẻ em đã tập trung?
Tuy nhiên, trong một số trường hợp cụ thể, tôi muốn tạm thời đánh chặn và xử lý tất cả các sự kiện quan trọng (bao gồm cả các sự kiện thường được xử lý bởi chế độ xem con) hoặc trong hoạt động hiện tại của tôi hoặc không, trong chế độ xem gốc của tôi không quan trọng, miễn là chúng được xử lý trên toàn cầu - tôi không quan tâm đến các nút phần cứng như volume +/-, vì chúng không được xử lý trong bất kỳ chế độ xem con nào của tôi).
Đối lạc sự kiện, chúng tôi có onInterceptTouchEvent(), cho phép một ViewGroup để xem các sự kiện liên lạc như chúng được gửi đi để xem đứa trẻ, và để ngăn chặn nhận được những sự kiện đó (khi mong muốn) bởi các quan điểm con mà họ được dự định.
Thật không may, tôi không thể tìm thấy bất kỳ điều gì tương tự với onInterceptTouchEvent() cho các sự kiện chính. Tôi thiếu một cái gì đó hiển nhiên, hoặc đây là một bất đối xứng thực tế trong hệ điều hành? Tất nhiên, tôi chỉ có thể dây mã xử lý sự kiện khóa hiện tại của mỗi chế độ xem con để trực tiếp gọi một phương thức trên hoạt động chính để xử lý sự kiện nếu muốn và để phương thức mức hoạt động đó trả về một boolean cho biết liệu nó có xử lý sự kiện hay không. Sau đó, chế độ xem con có thể xử lý sự kiện nếu và chỉ khi phương thức hoạt động được gọi là không phải là đã xử lý sự kiện đó. Nhưng tôi hy vọng có một cách rõ ràng hơn để ngăn chặn lưu lượng truy cập trên đường "xuống" hệ thống phân cấp cho chế độ xem con, giống như onInterceptTouchEvent() làm cho các sự kiện cảm ứng.
Lưu ý rằng tôi cũng quan tâm đến câu trả lời cho biết rằng điều này * không thể * được thực hiện. Nếu được xác minh, câu trả lời như vậy cũng có thể được chấp nhận. – Carl
Tôi cũng tò mò muốn tìm hiểu lý do tại sao khả năng này sẽ tồn tại cho các sự kiện cảm ứng, nhưng không phải cho các sự kiện quan trọng, nếu đó thực sự là trường hợp. – Carl