获取在EditText中按下的键

时间:2011-05-31 17:10:03

标签: android

我想知道在EditText中按下了哪个键。例如,如果按 a ,我想将值设为'a'。我怎么能这样做?

2 个答案:

答案 0 :(得分:5)

您可以在EditText上设置onKeyListener(),并以此方式检索KeyCode。例如:

editText.setOnKeyListener(new View.OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        switch(keyCode) {
            case KeyEvent.KEYCODE_0:
                //handle code for pressing 0
                break;
            default:
                break;
        }
    }
});

switch语句中,只需处理您需要的任何密钥代码。完整列表可在KeyEvent constants

中找到

编辑:请记住,对于验证和类似的事情,正如尼古拉斯所提到的,TextWatcher可能是一个更好的解决方案,如果您需要知道输入了什么字符(例如'A'与'a',如同你必须在关键监听器中处理移位键是否处于活动状态的逻辑。如果您只需要知道按下了什么键,我建议使用OnKeyListener。

答案 1 :(得分:1)

在这里看看我的答案:

Validating edittext in Android