Android - Hören Sie auf Tastendrücke auf dem Ziffernblock?
-
10-10-2019 - |
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:
Allerdings tut es nicht Arbeit, wenn ich die Soft-Input-Tastatur in den folgenden Modi angezeigt werden:
Warum ist das?
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