开发者

Android - Listen for key presses on Numeric keypad?

开发者 https://www.devze.com 2023-01-21 12:55 出处:网络
I use the fo开发者_JS百科llowing code to listen for the key presses of 0 - 9 from the soft input keyboard on Android:

I use the fo开发者_JS百科llowing code to listen for the key presses of 0 - 9 from the soft input keyboard on Android:


@Override
        public boolean onKeyDown(int keyCode, KeyEvent event)  {

            if(keyCode == KeyEvent.KEYCODE_0)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_1)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_2)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_3)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_4)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_5)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_6)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_7)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_8)
            {
                return super.onKeyDown(keyCode, event);
            }

            if(keyCode == KeyEvent.KEYCODE_9)
            {
                Log.d("Keycode", "Got KeyCode 9");
                return super.onKeyDown(keyCode, event);
            }

            return true;
        }

The code works when i display the soft input keyboard in the following mode:

Android - Listen for key presses on Numeric keypad?

However it does not work when I display the soft input keyboard in the following mode:

Android - Listen for key presses on Numeric keypad?

Why is this?


It is because there are different keycodes for the number pad. Unfortunately they were only introduced in API Level 11 (android 3.0, honeycomb) so you will have to find another way to address those guys for maximum compatibility.

0

精彩评论

暂无评论...
验证码 换一张
取 消