Câu hỏi Bàn phím mềm mà không có EditText & phát hiện các lần nhấn phím


Làm thế nào tôi có thể phát hiện các phím bấm đáng tin cậy bằng bàn phím cứng hoặc mềm?

Ứng dụng của tôi điều khiển từ xa một thiết bị khác qua wifi và tôi cần phát hiện mọi lần nhấn phím trên bàn phím mềm hoặc cứng. Tôi không thực sự cần một EditText bởi vì tôi chỉ cần gửi các ký tự cùng một lúc khi chúng được nhấn và không cần chuỗi văn bản cuối cùng.

Tôi đã thử sử dụng EditText với OnKeyPress nhưng đã gặp sự cố đây không nhận được các phím bấm với bàn phím mềm. Và Trình soạn thảo văn bản không phải là một lựa chọn tốt vì tôi cần mỗi lần nhấn phím.

Tôi sẽ sử dụng EditText nếu tôi có, nhưng không muốn. Điều tôi thực sự muốn là:

  • Mang theo bàn phím mềm khi người dùng nhấn nút Tìm kiếm
  • Người dùng nhấn phím và tôi truyền các mã đến thiết bị từ xa. Không thực sự cần xem bất kỳ thứ gì trên màn hình trong EditText vì nó sẽ được hiển thị trên thiết bị từ xa
  • Người dùng nhấn nút Done tùy chỉnh trên bàn phím mềm để đóng nó

Bất kỳ đề xuất?


8
2017-11-23 14:45


gốc


bạn đã tìm được cách để làm điều này chưa? - Rohith Nandakumar
Hãy xem [this] [1] post. Điều này làm việc cho tôi. Thử nghiệm trên SGS II. [1]: stackoverflow.com/questions/4579544/… - miha


Các câu trả lời:


Vâng, bạn có thể ghi đè lên [onKeyDown(int keyCode, KeyEvent event)] [1] và (hoặc) [onKeyUp(int keyCode, KeyEvent event)] [2]  các phương thức trong lớp hoạt động ứng dụng, điều này sẽ cho phép bạn nhận thông báo ngay cả về các phím như phím sau và các phím phần cứng khác ...

Lưu ý: bạn có thể nhận được thông báo về chuyển động của trackball và cứ thế ...

[1]: http://developer.android.com/reference/android/view/View.html#onKeyDown(int, android.view.KeyEvent)   [2]: http://developer.android.com/reference/android/view/View.html#onKeyUp(int, android.view.KeyEvent)


1
2017-11-23 17:26



Cảm ơn, nhưng điều này dường như không hoạt động với bàn phím mềm. Tôi ghi đè onKeyDown và nó không được kích hoạt bằng chữ cái hoặc số. - Gregg Reno