/ / onKeyDown nie uruchamia się po naciśnięciu strzałki w lewo, w prawo, w górę, w dół w Androidzie - Android, klawiatura, zdarzenia klawiatury

onKeyDown nie uruchamia się po naciśnięciu strzałki w lewo, w prawo, w górę lub w dół w systemie Android - Android, klawiatura, zdarzenia na klawiaturze

Wywołanie zwrotne OnKeyDown w InputMethodService działa na wiele sprzętowych przycisków klawiatury, ale nie działa ze strzałką w lewo, w prawo, w górę, w dół. Jak sobie z tym poradzić?

Dziękuję za uwagę!

Odpowiedzi:

3 dla odpowiedzi № 1

Czy spojrzałeś na dokumentacja programisty dotycząca obsługi kluczowych zdarzeń? Możesz spróbować onKeyDown lub onKeyUp, aby otrzymać tylko jedno zdarzenie i wydrukować kod klucza, aby zobaczyć, co jest odbierane:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
Log.i("your tag", "Keycode: " + keyCode);
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
leftKeyClick();
return true;
case KeyEvent.KEYCODE_DPAD_RIGHT:
rightKeyClick();
return true;
case KeyEvent.KEYCODE_DPAD_UP:
upKeyClick();
return true;
case KeyEvent.KEYCODE_DPAD_DOWN:
downKeyClick();
return true;
default:
return super.onKeyUp(keyCode, event);
}
}

The Odwołanie do obiektu KeyEvent zawiera więcej szczegółów. Jeśli nadal nie wykrywasz klawiszy strzałek, może być konieczne zastąpienie metody onKeyDown lub onKeyUp w widoku, to podobne pytanie może być przydatne.