2013-07-20 4 views
0

Пожалуйста, посмотрите на следующий кодОбработка кнопки Назад

private class HandleBackButton implements OnKeyListener 
    { 

     @Override 
     public boolean onKey(View arg0, int arg1, KeyEvent arg2) { 
      // TODO Auto-generated method stub 

      if(arg1==KeyEvent.KEYCODE_BACK) 
      { 
       showResults(0); 
      } 
      return true; 
     } 

    } 

я есть несколько новых для андроид, и моя цель состоит в том, чтобы работать выше код, когда кнопка будет нажата снова. Пользователь может нажать кнопку «Назад» в любое время. Но как я могу настроить этот слушатель на Activity? Я не могу найти что-то вроде this.setOnKeyListener(). Я использую android 2.3.3, если это имеет значение. Пожалуйста, помогите

ответ

2

Просто переоцените способ деятельности onKeyDown(). Вам не нужно устанавливать прослушиватель.

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if(keyCode == KeyEvent.KEYCODE_BACK) 
     { 
      showResults(0); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

При желании вы можете также переопределить onBackPressed() если ваш уровень АФИ> = 5.

+0

Я использовал onBackPressed(). Спасибо :) –

3

Для этого действия вы должны переопределить onBackPressed, который вызывается при нажатии кнопки «Назад». OnKeyListener отправляет ключевые события в представление. Вы найдете setOnKeyListener, определенный в классе View

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

+0

Спасибо большое за onBackPressed() предложение. Я очень ценю это. +1 от меня :) –

+0

добро пожаловать – Blackbelt

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