Android studio java onKeyUp вызывается, а не выпускается

#java #android-studio #onkeydown #onkeyup

#Ява #android-студия #onkeydown #onkeyup

Вопрос:

Я пытаюсь закодировать простые элементы управления wasd в Android studio. Я пытался использовать onKeyDown и onKeyUp для перемещения моего персонажа во время нажатия клавиши, установив onKeyDown логическое значение для моего перемещения в true, а затем установив onKeyUp в false. Прямо сейчас, хотя, когда я нажимаю и удерживаю клавишу, они оба просто вызываются снова и снова, и ничего не происходит, когда я отпускаю клавишу. Я знаю, что onKeyDown должен вести себя именно так. Но почему onKeyUp делает то же самое? Вот пример моей упрощенной функции onKeyUp, которую я использую для тестирования:

 @Override public boolean onKeyUp(int keyCode, KeyEvent event) {   Log.d(TAG, "onKeyUp: keycode="   keyCode   ", event="   event);   switch (keyCode) {  case KeyEvent.KEYCODE_A:  Log.d(TAG, "up key a");  break;  case KeyEvent.KEYCODE_D:  Log.d(TAG, "up key d");  break;  default:  return super.onKeyUp(keyCode, event);  }  return true; }  

Как мне поймать, когда ключ действительно отпущен?