繁体   English   中英

处理后退按钮

[英]Handling the Back Button

我正在处理以下代码:

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。

对于活动,您应该覆盖onBackPressed ,当您按下“后退”按钮时会调用该onBackPressed OnKeyListener将按键事件调度到视图。 您会在View类中找到setOnKeyListener

在将硬件键事件调度到此视图时要调用的回调的接口定义。 回调将在将键事件提供给视图之前被调用。 这仅对硬件键盘有用。 软件输入方法没有义务触发此侦听器。

只需重写Activity的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,您还可以覆盖onBackPressed()

您可以使用onBackPressed()

@Override
public void onBackPressed() {
    showResults(0);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM