Tôi không hiểu tại sao đoạn mã này không hoạt động. Chỉ phát hiện phím backspace và return. Trình nghe không kích hoạt bất kỳ khóa nào khác. Thiết bị của tôi là Nexus One.onKeyListener không hoạt động trên bàn phím ảo
Tôi đã cố gắng ghi đè phương thức OnKeyDown của hoạt động và thậm chí còn tồi tệ hơn. Nút phát hiện duy nhất là nút quay lại phần cứng.
Tôi đang thấy xung quanh một đề nghị để sử dụng TextWatcher và onTextChanged, trong khi đó có thể làm việc trong một số trường hợp, nó không phải là một công việc thực sự xung quanh. Ví dụ: nếu hộp văn bản trống, bạn sẽ không phát hiện nếu người dùng nhấn nút BackSpace (Xóa). Vì vậy, bất kỳ ý tưởng?
TextView txtInput = (TextView)findViewById(R.id.txtInput);
txtInput.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
makeToast(keyCode + " key pressed");
return true;
}
});
Vâng, tôi đã dành 4 giờ cho vấn đề này. Có vẻ như không ai có giải pháp cho việc này. Rất ít người cũng đề xuất sử dụng OnKeyboardActionListener, nhưng không thể tìm thấy bất kỳ ví dụ nào về cách sử dụng nó. – bobetko
Tìm thấy ví dụ tại đây: http://developer.android.com/resources/samples/SoftKeyboard/src/com/example/android/softkeyboard/SoftKeyboard.html – bobetko
Tôi không chắc chắn rằng ví dụ về softkeyboard sẽ hoạt động đối với tôi. Tôi sẽ không viết phương thức nhập khác. Tôi chỉ muốn hiển thị phương thức nhập mặc định trên màn hình (bàn phím android thường) và chụp bất kỳ phím bấm nào. Tại sao điều này có vẻ khó khăn như vậy? Tôi cảm thấy thất vọng. – bobetko