2013-07-20 147 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; 
     } 

    } 

我有点新的Android和我的目的是在点击后退按钮时,操作上面的代码。用户可以随时点击后退按钮。但是,如何将此侦听器设置为活动?我找不到像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()如果您的API等级> = 5

+0

我用onBackPressed()。谢谢 :) –

3

对于活动,您应该覆盖onBackPressed当您按下后退按钮时调用该活动。 OnKeyListener将关键事件分派给视图。你会发现在视图类时,硬件密钥 事件被分派到这个观点时要调用回调

接口定义定义setOnKeyListener。回调将在 之前调用关键事件给视图。这仅适用于硬件 键盘;软件输入法没有义务触发此监听器。

+0

谢谢你很多的onBackPressed()的建议。对此,我真的非常感激。 +1从我:) –

+0

不客气 – Blackbelt