2012-01-21 3 views
1

Из метода onPrepareOptionsMenu (Menu) я остановил поток, когда я собирался отобразить меню, потому что фоновый поток, который потребляет много времени обработки, делает отображение и нажатие одной кнопки меню (а не кнопка меню) практически невозможно. После остановки потока отображение и щелчок по меню (а не кнопка меню) становятся более управляемыми. Проблема возникла, когда клавиша «назад» была нажата сразу же после отображения меню. Мне нужно перезапустить поток после того, как пользователь нажмет клавишу «назад», но нет метода (я попробовал onBackPressed() и onKeyDown()), который я знаю, чтобы перехватить «задний» ключ. Я действительно оценил, может ли кто-то ответить на этот вопрос.Не обнаруживает метод onKeydown при нажатии клавиши «назад»

+0

Перехват назад onKeyDown() Я уверен, никогда не работает, но onBackPressed() всегда работает для меня. Можете ли вы предоставить код? – ghostbust555

+0

, если вы переопределяете onbackPressed, вы можете делать все, что хотите. – Sameer

+0

Большое спасибо за помощь. Я попробовал метод onBackPressed(), но это не сработало. Угадай, что? Я частично исправил проблему: когда я включил метод public void onOptionsMenuClosed (Меню), клавиша «Назад», нажатая сразу же после отображения меню, выполнила метод void onOptionsMenuClosed (Меню). Однако, когда я отобразил одно из подменю из одного из меню, а затем нажал клавишу «назад», метод void onOptionsMenuClosed (меню меню) не получил выполнение. Ты попробуй и вернись ко мне. Огромное спасибо. – user1161829

ответ

0

Это всегда работает для меня

@Override 
public void onBackPressed() { 
    // remover this line super.onBackPressed(); 
    Now you can do whatever you want, start your thread and any other task 
} 

Edited Согласно новому вопросу

Когда ключ обратно ударит, то андроид имеет его по умолчанию action.So, если вы хотите, чтобы захватить обратно нажатие клавиши затем использовать onbackpressed и делать то, что вы хотите

+0

Я не думаю, что это сработает, потому что фокус не находится в классе Activity (ну, в моем случае, это MapActivity) больше, когда я нажал кнопку меню. – user1161829

+0

Одна вещь, которую я обязательно проверю, когда вы нажмете кнопку «Назад», этот код будет на 100% звонить либо в MapActivity, либо в простом действии – Sameer

+0

To: ghostbust555 – user1161829

Смежные вопросы