覆盖Android后退按钮

时间:2011-09-26 03:55:13

标签: android android-activity back

关于我为什么尝试这样做的一些信息:我正在使用ActivityGroups从tabHost活动中打开一个活动,并让新活动保留在选项卡下。那部分我有。但是当进入那个新活动时,如果我使用后退按钮,它会让我直接从标签活动开始,所以我必须点击几次才能回到原来的位置。

有没有办法设置后退按钮转到特定活动而不是杀死当前活动窗口?

2 个答案:

答案 0 :(得分:7)

我相信你应该能够做到这样的事情:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        // start new Activity here
    }
    return super.onKeyDown(keyCode, event);
}

但是不建议覆盖后退按钮的预期功能。

答案 1 :(得分:5)

总的来说,我会建议反对,因为它打破了用户体验。用户希望后退按钮可以终止整个窗口,尤其是在您使用tabhost时。对于用户来说,整个群体(标签和所有)是他想要在按下后退按钮时退出的单个活动。

如果您仍想这样做,请参阅#onBackPressed()。当活动检测到用户按下后退键时调用它。默认是完成活动,但您可以使它做任何您想做的事情。我建议小心谨慎。

您可能会从here找到一些灵感。