如何处理活动中的后退按钮

如何处理活动中的后退按钮。我有一些按钮。如果我单击其中一个按钮,它将重定向到我需要的按钮。它工作正常,但当我按下后退按钮它完成。


如何解决这个问题呢。所有这些按钮只有一个活动。提前致谢。


@Override

    public boolean onKeyDown(int keyCode, KeyEvent event) 

   {

        if ((keyCode == KeyEvent.KEYCODE_BACK)) 

        {

            return false; //I have tried here true also

        }

        return super.onKeyDown(keyCode, event);

   }

我已经使用上面的代码处理后退按钮,但它无法正常工作。当我按下后退按钮时,它会自动敲击。


暮色呼如
浏览 411回答 3
3回答

慕后森

你可以像这样处理它:适用于API等级5及更高版本@Overridepublic void onBackPressed() {    // your code.}比API 5更早@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    if (keyCode == KeyEvent.KEYCODE_BACK) {        // your code        return true;    }    return super.onKeyDown(keyCode, event);}

ibeautiful

除了以上我个人推荐onKeyUp():Programatically 当用户最初按下一个键时,会发出keydown,但是当用户按下该键时它会重复。*所有开发平台都是如此。Google开发建议,如果您在视图中拦截BACK按钮,则应在keydown上使用starttracking跟踪KeyEvent,然后使用keyup调用。public boolean onKeyDown(int keyCode, KeyEvent event) {    if (keyCode == KeyEvent.KEYCODE_BACK            && event.getRepeatCount() == 0) {        event.startTracking();        return true;    }    return super.onKeyDown(keyCode, event);}public boolean onKeyUp(int keyCode, KeyEvent event) {    if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking()            && !event.isCanceled()) {        // *** Your Code ***        return true;    }    return super.onKeyUp(keyCode, event);}

蝴蝶不菲

对于硬件设备后退按钮和软主页(后退)按钮,例如“< - ”,这对我有用。(*注意我在活动中有一个应用栏/工具栏)@Overridepublic boolean onOptionsItemSelected(MenuItem item) {&nbsp; &nbsp; switch (item.getItemId()) {&nbsp; &nbsp; &nbsp; &nbsp; case android.R.id.home:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //finish();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; onBackPressed();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; }&nbsp; &nbsp; return true;}@Overridepublic void onBackPressed() {&nbsp; &nbsp;//Execute your code here&nbsp; &nbsp;finish();}干杯!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android