JAVA中的onkey_onKeyListener无法在虚拟键盘上工作
好 . 我終于想到了如何做我想做的事情,我并不為Android感到驕傲 .
我正在編寫服務器/客戶端應用程序,在客戶端我必須打開SoftKeyboard并發送按鍵(字符和DEL鍵)...每按一次鍵,該字符將被發送到服務器 . 如果按下DEL,我將序列發送到服務器 .
為了做到這一點,我必須實現TextWatcher和onTextChange,除了EditText為空并且用戶按DEL鍵的情況之外,它運行良好 . 由于EditText沒有變化,因此無法檢測到是否按下了DEL鍵 .
除了TextWatcher之外,我還必須實現onKeyListener,它附加到我的EditText控件 . 此onKeyListener忽略除了DEL和RETURN之外的SoftKeyboard上的所有鍵 . 不知道為什么?可能有一個bug?
這是我的代碼:
TextView txtInput = (TextView)findViewById(R.id.txtInput);
txtInput.addTextChangedListener(inputTextWatcher);
txtInput.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.d(TAG, keyCode + " character(code) to send");
return false;
}
});
和TextWatcher ....
private TextWatcher inputTextWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) { }
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{ }
public void onTextChanged(CharSequence s, int start, int before, int count) {
Log.d(TAG, s.charAt(count-1) + " character to send");;
}
};
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的JAVA中的onkey_onKeyListener无法在虚拟键盘上工作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数和函数式编程
- 下一篇: java输出一些内容到日志文件