首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何处理活动中的后退按钮

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

Stack Overflow用户
提问于 2011-03-15 21:21:20
回答 5查看 316.5K关注 0票数 145

如何处理活动中的后退按钮?我有一些纽扣。如果我点击其中一个按钮,它会重定向到我需要的按钮。它工作得很好,但当我按下后退按钮时,它就完成了。

如何解决这个问题。对于所有这些按钮,我只有一个活动。提前谢谢。

代码语言:javascript
复制
@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);
}

我已经使用上面的代码来处理后退按钮,但它不工作。当我按下“后退”按钮时,它就会在那里自动跳动。

EN

回答 5

Stack Overflow用户

发布于 2016-06-15 11:03:19

对于硬件设备的后退按钮和软的主页(后退)按钮,例如“<-”,这对我来说是有效的。(*注意,我在活动中有一个应用程序栏/工具栏)

代码语言:javascript
复制
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            //finish();
            onBackPressed();
            break;
    }
    return true;
}



@Override
public void onBackPressed() {
   //Execute your code here
   finish();

}

干杯!

票数 16
EN

Stack Overflow用户

发布于 2011-03-15 21:28:49

一种更简单的方法是捕获Back按钮按下并调用moveTaskToBack(true),如下所示:

代码语言:javascript
复制
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

Android2.0引入了一种新的onBackPressed方法,these recommendations介绍了如何处理后退按钮

票数 9
EN

Stack Overflow用户

发布于 2011-05-19 19:13:44

您应该使用:

代码语言:javascript
复制
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR
            && keyCode == KeyEvent.KEYCODE_BACK
            && event.getRepeatCount() == 0) {
        // Take care of calling this method on earlier versions of
        // the platform where it doesn't exist.
        onBackPressed();
    }

    return super.onKeyDown(keyCode, event);
}

@Override
public void onBackPressed() {
    // This will be called either automatically for you on 2.0
    // or later, or by the code above on earlier versions of the
    // platform.
    return;
}

如下所示:http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html

如果您正在使用旧版本编译代码,请将android.os.Build.VERSION_CODES.ECLAIR替换为5(例如,您可以添加一个名为ECLAIR的私有int )

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5312334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档