Android AVD стрелки не работают

Я изучаю разработку приложений из книги, и столкнулся с проблемой с AVD. У меня настроен код для изменения текста при нажатии клавиши со стрелкой вправо:

public boolean onKeyDown(int keyCode, KeyEvent event){
            if(keyCode==KeyEvent.KEYCODE_DPAD_RIGHT){
                textUpdate();
                return true;
            }
            return false;
        }

Когда я запускаю виртуальное устройство и нажимаю клавиши со стрелками, ничего не происходит. Когда я нажимаю клавиши со стрелками на моей физической клавиатуре, все еще ничего. Я провел много исследований и не могу найти решение. Я попытался отредактировать настройки AVD и отредактировать само устройство (Nexus One), чтобы принимать ввод с клавиатуры и dpad. Что я должен попробовать сейчас?

3 ответа

Решение

Хорошо, что случилось, что моя функция onKeyDown() была внутри фрагмента. Я не знаю почему, но когда я переместил этот код в mainActivity, он работал нормально. Если у кого-то есть ответ относительно того, почему это сработало и как я мог заставить его работать во фрагменте, пожалуйста, прокомментируйте.

Спасибо

Вы переопределили метод? Над этой функцией должен быть @Override.

Отменяйте вызовы этой функции всякий раз, когда она запускается, чтобы вы могли изменить ее для своей конкретной реализации.

Надеюсь это поможет

"клавиша со стрелкой" означает клавишу возврата на устройстве Android? если это так, вы должны переопределить onBackPressed

@Override
public void onBackPressed() {
   // do something 
}
Другие вопросы по тегам