如何检测字符键按?

Bri*_*ian 4 android key keyevent listener textview

我知道在TextView中按下ENTER按钮时如何监听,如下面的代码所示:

textView.setOnKeyListener(new View.OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
            if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                enterPressed();
                return true;
            }
            return false;
        }
});
Run Code Online (Sandbox Code Playgroud)

但是...当按下一个字符键(AZ,0-9,特殊字符等),基本上除了ENTER,BACKSPACE或SPACE之外的所有其他内容时,我该如何监听?我想这样做是因为我希望当用户开始在TextView中键入文本时启用一个按钮.奇怪的是,当按下这些字符键时,甚至没有调用onKey()方法,那么我还有另一种方法可以听取它们吗?提前致谢!

San*_*gar 6

文本观察者可能会帮助您

textView.addTextChangedListener(new TextWatcher(){

    @Override
    public void afterTextChanged(Editable arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // TODO Auto-generated method stub

    }

});
Run Code Online (Sandbox Code Playgroud)