Я пытаюсь обработать событие кнопки "Назад" в своем приложении, но он вообще не работает. Я включил ActivityGroup в мое приложение в соответствии со статьей Android: вкладки вложенных действий TabActivity
Я добавил следующий код в соответствии со многими сообщениями на этом веб-сайте.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.d(this.getClass().getName(), "back button pressed: " + keyCode);
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
Log.d(this.getClass().getName(), "back button pressed");
return true;
}
return super.onKeyDown(keyCode, event);
}
но по какой-то причине я все еще не знаю, что я не получаю строки, которые будут регистрироваться, она возвращается на главный экран. Я знаю, что onBackPressed не будет работать для меня, потому что мне нужно, чтобы это приложение реализовано с использованием api level 4, и оно недоступно на этом уровне.
В моей группе ActivityGroup есть только два действия: один вид списка и представление сведений. Я поставил этот код на все три класса, чтобы попробовать что-то другое, но все же не могу заставить его работать. Я вижу "Нет клавиатуры для id 0" в журналах, но я не думаю, что это означает что-то, что может быть связано с проблемой.
Я действительно ценю любой ответ на этот вопрос. Большое спасибо Т
Добавьте оператор журнала прямо над линией возврата и посмотрите, что происходит с KeyEvent.
вот так:
Log.w(keyCode, "This is the key code that is returned");
return super.onKeyDown(keyCode, event);
Теперь посмотрите на возвращаемое значение и проверьте/сравните его с KeyEvent.KEYCODE_BACK
, и это может указывать на вашу проблему.