Android onKey带虚拟键盘

时间:2010-01-12 18:57:23

标签: java android

我正在使用onKey方法捕捉键盘事件/按下:

public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
    //do something
    return false;
}

对于物理键盘按键,它会触发,但在虚拟键盘按下时不会触发。是否有处理虚拟键盘按下的事件处理程序?

3 个答案:

答案 0 :(得分:8)

如果是EditText,请查看是否可以使用TextChangedListener。

myEditText.addTextChangedListener(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) {
            //do stuff
        }

    });

答案 1 :(得分:1)

虚拟按键直接传递到选定视图,它们不会通过硬视图按键之类的父视图传播。除了EditText / List / Whatever什么得到了按键之外,你是否重写onKey? (你点击获取虚拟键盘的东西)

答案 2 :(得分:1)

myEditText.addTextChangedListener(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) {
            //do stuff
        }

    });