Sự khác nhau giữa các phương thức onKey(), OnKeyDown() và dispatchKeyEvent() do Android cung cấp là gì?
Tôi muốn biết khi nào và ở đâu có thể sử dụng được.
Hãy làm sáng tỏ điều này.Sự khác biệt giữa các phương thức onKey(), OnKeyDown() và dispatchKeyEvent() do Android cung cấp?
Trả lời
Truy tìm mã nguồn của 5.1 Source for the View Class. Có vẻ như dispatchKeyEvent()
là phương pháp đầu tiên được gọi bởi hệ thống. Quá tải nó sẽ ngăn chặn bất kỳ và tất cả các sự kiện quan trọng từ được gọi là trừ khi phiên bản cơ sở được gọi là.
dispatchKeyEvent()
Di chuyển đầu tiên của chúng tôi là cố gắng chuyển sự kiện đến onKeyListener
nếu có. Đây là lúc onKey()
được gọi. Nếu số trả lại thực hiện onKey()
true
, dispatchKeyEvent()
sẽ trả lại ở đó và các sự kiện khác sẽ không được gọi.
Nếu không có onKeyListener
hoặc onKeyListener
'onKey()
phương pháp s trở false
, dispatchKeyEvent()
sau đó sẽ gọi KeyEvent
' dispatch()
phương pháp s. Mà sau đó sẽ lần lượt gọi tất cả các phương thức trong giao diện KeyEvent.Callback
trên chế độ xem của bạn. Điều này bao gồm onKeyDown()
và onKeyUp()
.
- 1. Sự khác biệt giữa "__method__" và "phương thức"
- 2. Sự khác biệt giữa Thuật toán và Phương thức
- 3. Whats sự khác biệt giữa Run và Do trong Rx?
- 4. Sự khác biệt giữa phương thức hiển thị và phương thức hiển thị
- 5. Sự khác biệt giữa các phương thức sự kiện jquery.simulate.js và jQuery?
- 6. Sự khác biệt giữa GL10 và GLES10 trên Android
- 7. Sự khác biệt giữa Scrum và các phương thức Agile khác?
- 8. Sự khác biệt giữa các giao thức FIX và FAST?
- 9. Sự khác biệt giữa HTTPS và SSL
- 10. Có sự khác biệt nào giữa :: và. khi gọi các phương thức lớp trong Ruby?
- 11. Sự khác biệt giữa CHOICE_MODE_MULTIPLE và CHOICE_MODE_MULTIPLE_MODAL?
- 12. Sự khác biệt giữa .NET, OLEDB và Nhà cung cấp Bản địa trong SSIS
- 13. Sự khác biệt giữa async.waterfall và async.series
- 14. Sự khác biệt giữa phương thức Superclass :: hoặc phương thức này->
- 15. Sự khác biệt giữa $ (...) và `...`
- 16. Sự khác biệt giữa XmlSerializer và BinaryFormatter
- 17. Sự khác biệt giữa các phương thức HTTP GET, POST, PUT và DELETE
- 18. Sự khác biệt giữa các phương thức lặp và xem là gì?
- 19. Sự khác biệt giữa cocos2d-android và cocos2d-android-1
- 20. Sự khác biệt giữa hàm hủy, xử lý và hoàn thiện phương thức
- 21. Sự khác biệt giữa Enum.GetValues và Enum.GetNames
- 22. Sự khác biệt giữa "Lớp" và "Cấp" là gì?
- 23. Sự khác biệt giữa $ * và $ @
- 24. Sự khác biệt giữa Camel và BPEL
- 25. Sự khác biệt giữa android: text = "@ string" và android: text = "..."
- 26. Sự khác biệt giữa các phương thức SOAP 1.1, SOAP 1.2, HTTP GET và HTTP POST cho Android là gì?
- 27. Sự khác biệt giữa các phương pháp tải lại trang
- 28. Sự khác biệt giữa ". +" Và ". +?"
- 29. Sự khác biệt giữa phương thức Nhận và đăng so với HTTP và REST
- 30. Sự khác biệt giữa Stream.CopyTo và MemoryStream.WriteTo
không thể nói tốt hơn! – faizal
Giải thích tuyệt vời! – ForeverLearning
Vì vậy, thay vì sử dụng cả hai 'onKeyDown' và' onKeyUp', tôi cũng có thể sử dụng 'dispatchKeyEvent'? Điều này có bất kỳ hạn chế nào không? Tôi đã phải làm điều này, bởi vì 'onKeyDown' sẽ không được kích hoạt cho hầu hết các phím, vì một lý do nào đó. Khi tôi thay đổi thành 'dispatchKeyEvent', nó đã hoạt động. – keinabel