Frage

Ich verwende den folgenden Code für die Tastendrücke von 0 bis zu hören - 9 von der Soft-Input-Tastatur auf 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;
        }

Der Code funktioniert, wenn ich zeige die Soft-Input-Tastatur in den folgenden Modi:

alt text

Allerdings tut es nicht Arbeit, wenn ich die Soft-Input-Tastatur in den folgenden Modi angezeigt werden:

alt text

Warum ist das?

War es hilfreich?

Lösung

Es ist, weil es verschiedene keycodes für den Ziffernblock ist. Leider wurden sie nur in API Stufe 11 eingeführt (Android 3.0, Honeycomb), so dass Sie einen anderen Weg finden müssen diese Typen für maximale Kompatibilität zu adressieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top