1

这是代码:

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;
   }

但它永远不会被调用。

4

1 回答 1

1

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

于 2013-10-30T03:37:59.163 回答