如何在android中获取keyCode

Nam*_*tha 5 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");
                    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;
        }
    });
Run Code Online (Sandbox Code Playgroud)

但它只适用于enterdelete键.对于其他键,它不起作用.我想要它shiftcaps lock钥匙.

may*_*kar -2

为什么你评论了break语句。请取消注释break语句并尝试。

  • 由于 return 语句,不需要它 (3认同)