EditText onKeyListener只获取1-9的keyCode,为什么?

时间:2013-10-30 03:00:29

标签: android keylistener

以下是代码:

EditText keyboard = (EditText) findViewById(R.id.keyboard);
keyboard.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if ((event.getAction() == KeyEvent.ACTION_DOWN)) {

                Log.d("TEST", "Key Code: "+keyCode);

                return true;
            }

            return true;
        }
     });

但我只得到数字的关键代码1-9,而不是所有的关键代码。为什么?我该如何处理重要事件?我补充说:

switch (keyCode) {
    case KeyEvent.KEYCODE_A:
        Log.d("TEST", "Key Code: "+keyCode);
        break;
   }

但它永远不会被召唤。

1 个答案:

答案 0 :(得分:0)

尝试使用addTextChangedListener(),因为“软件输入法通常不会根据setOnKeyListener()触发”OnKeyListener的方法。