Обратното извикване на OnKeyDown в InputMethodService работи за много хардуерни бутони на клавиатурата, но не се задейства със стрелка наляво, надясно, нагоре, надолу. Как мога да се справя?
Благодаря за вниманието!
Обратното извикване на OnKeyDown в InputMethodService работи за много хардуерни бутони на клавиатурата, но не се задейства със стрелка наляво, надясно, нагоре, надолу. Как мога да се справя?
Благодаря за вниманието!
Разгледахте ли документацията за разработчици за обработка на ключови събития? Бихте могли опитайте onKeyDown или onKeyUp, за да получите само едно събитие и отпечатайте keyCode, за да видите какво се получава:
@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);
}
}
Справката за KeyEvent Object дава повече подробности. Ако все още не откривате клавишите със стрелки, тогава може да се наложи да замените метода onKeyDown или onKeyUp на вашия изглед, този подобен въпрос може да е полезен.