Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中获取密钥码_Android - Fatal编程技术网

如何在android中获取密钥码

如何在android中获取密钥码,android,Android,我有以下代码: tv.setOnKeyListener(new View.OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { switch(keyCode) { case KeyEvent.KEYCODE_0: Log.v(TAG, "Keycode_0");

我有以下代码:

tv.setOnKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
         switch(keyCode) 
            {
                case KeyEvent.KEYCODE_0:
                    Log.v(TAG, "Keycode_0");
                    return true;
                    //break;

                case KeyEvent.KEYCODE_1:
                    Log.v(TAG, "Keycode_1");
                    return true;
                    //break;
                case KeyEvent.KEYCODE_D:
                    Log.v(TAG, "Keycode_D");
                    return true;
                    //break;
                case KeyEvent.KEYCODE_2:
                    Log.v(TAG, "Keycode_2");
                    return true;
                    //break;
                case KeyEvent.KEYCODE_TAB:
                    Log.v(TAG, "Keycode_TAB");
                    return true;
                    //break;
                case KeyEvent.KEYCODE_DEL:
                    Log.v(TAG, "Keycode_DEL");
                    return true;
                    //break;
                case KeyEvent.KEYCODE_COMMA:
                    Log.v(TAG, "Keycode_COMMA");
                    return true;
                    //break;
                case KeyEvent.KEYCODE_ENTER:
                    Log.v(TAG, "KEYCODE_ENTER");
                    i=KeyEvent.KEYCODE_ENTER;
                    Log.v(TAG, "KEYCODE_ENTER"+i);
                    return true;
                    //break;
               case KeyEvent.KEYCODE_SHIFT_LEFT:
                    Log.v(TAG, "KEYCODE_SHIFT_LEFT"+KeyEvent.KEYCODE_SHIFT_LEFT);
                    return true;
                    //break;
                case KeyEvent.KEYCODE_SHIFT_RIGHT:
                    Log.v(TAG, "KEYCODE_SHIFT_RIGHT"+KeyEvent.KEYCODE_SHIFT_RIGHT);
                    return true;
                    //break;
                case KeyEvent.KEYCODE_SPACE:
                    Log.v(TAG, "KEYCODE_SPACE"+KeyEvent.KEYCODE_SPACE);
                    return true;
                    //break;
                default:
                    break;
            }
            return false;
        }
    });

但它仅适用于
enter
delete
键。对于其余的钥匙,它不起作用。我想把它用于
shift
caps lock
键。

为什么你对break语句进行了注释。请取消对break语句的注释,然后重试。

在编辑文本中使用此侦听器:

editText.setOnKeyListener(new OnKeyListener() {

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {

return false;
}
});

因为返回语句,所以不需要它。大多数情况下,软键盘不使用按键代码。看到这个答案了吗