我正在处理以下代码:
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很新,我的目的是在单击后退按钮时操作上面的代码。用户可以随时单击后退按钮。但是,如何将此侦听器设置为Activity?我找不到像this.setOnKeyListener()
这样的东西。
我使用的是Android 2.3.3。
只需覆盖Activity的onKeyDown()
方法即可。您不必再设置监听器。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK)
{
showResults(0);
return true;
}
return super.onKeyDown(keyCode, event);
}
如果您的api级别> = 5,您也可以选择覆盖onBackPressed()
。
对于Activity,您应该覆盖按下后退按钮时调用的onBackPressed
。 OnKeyListener
将关键事件发送到视图。您可以在View类中找到setOnKeyListener
将硬件键事件调度到此视图时要调用的回调的接口定义。在将键事件提供给视图之前将调用回调。这仅适用于硬件键盘;软件输入方法没有义务触发此监听器。
你可以使用onBackPressed()
:
@Override
public void onBackPressed() {
showResults(0);
}