Tôi muốn nhấn phím bất kỳ của phím chức năng. Tôi không muốn có một EditView hoặc TextView trong Hoạt động của tôi, sự kiện phải được xử lý từ Chế độ xem mở rộng bên trong Hoạt động của tôi.Android - Nhận bấm phím trên bàn phím
Tôi chỉ cố gắng này:
1) Override phương pháp onKeyUp(int keyCode, KeyEvent event)
Hoạt động. Điều này không làm việc với softkeybord nó chỉ bắt vài hardkeyboard.
2) Tạo OnKeyListener
và đăng ký trong Chế độ xem của tôi có đăng ký và đang hoạt động OnTouchListener
. Điều này không hoạt động chút nào với softkeyboar.
3) Ghi đè phương thức Xem onKeyUp(int keyCode, KeyEvent event)
. Điều này không làm việc ở tất cả niether nếu tôi đặt OnKeyListener của tôi cũng không nếu tôi không đặt nó.
4) Với đối tượng InputMethodManager
Gọi phương thức showSoftInput
và chuyển giao cho Chế độ xem của tôi. Điều này không làm việc không phải để nâng cao bàn phím, thực sự tôi phải gọi toggleSoftInput
; cũng không để nắm bắt các sự kiện quan trọng.
Tôi đã thử nghiệm tất cả chỉ trong trình mô phỏng nhưng tôi nghĩ là đủ. Tại sao nó phức tạp như vậy có một sự kiện quan trọng đơn giản từ bàn phím?
Và khi bạn đã kiểm tra mã nguồn đến các lớp học như 'EditText' và 'TextView', để xem cách họ xử lý nó, bạn đã học được những gì? – CommonsWare
Nghiên cứu mã nguồn có thể giúp nhưng mất quá nhiều thời gian. – Bemipefe