重写onBackPressed()仍然关闭活动

时间:2014-05-29 01:27:07

标签: android activity-finish

我正在覆盖onbackPressed(),但它仍在完成活动。如果得分视图已经启动,那么在后退按下会转到另一个活动并且可以正常工作。然而,如果得分视图未启动并且游戏正在进行,我希望暂停菜单变得可见,以便他们可以选择是继续还是回家,但是会发生什么呢?它会在一瞬间出现并且活动结束()和我不知道为什么。我的所有表面都有打印声明,没有出现。后退按钮是否总是完成当前活动以及其他选项工作的原因是因为我正在开始另一个活动。如果是这样,有一种简单的方法来覆盖它。这可能发生的任何其他原因。有没有办法在log cat中看到活动的完成位置。

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
    //stop computer tile flips and person tile flips
    if(gamescreenup){
    Log.d("back button baseactivity", "goinh home");
    Intent home = new Intent (this, HomeScreen.class);
    startActivity(home);
    overridePendingTransition(R.anim.anim3, R.anim.anim4);
    finish();
    }else{
        Log.d("back button baseactivity", "displaying pause");
        gamepausebool = true;
        going = false;
        Log.d("bools changed", "changing vis next");
        linlay.setVisibility(View.VISIBLE);
        Log.d("vis changed", "made it here");
    }
}

2 个答案:

答案 0 :(得分:3)

删除super.onBackPressed();。这是导致你的问题的原因。

答案 1 :(得分:1)

删除super,因为它与finish()相同。