3

在我的主要活动中,我设置了这个覆盖方法来改进我的动画活动:

overridePendingTransition(R.anim.pull_in_from_right, R.anim.pull_out_to_left);

在我的第二个活动中,我将 onBackPressed() 方法设置为主要活动:

public void onBackPressed()
    {
        Intent backToMain = new Intent(this, MainActivity.class);
        startActivity(backToMain);
        super.onBackPressed();
    }

它可以很好地返回动画,但是当我关闭从第二个活动返回的主要活动时,启动的第一个主要活动仍然存在。

如何解决这个问题?感谢您的善意回应。

4

2 回答 2

14

在您的第二个活动中,您不必创建新的意图即可返回主要活动。

public void onBackPressed(){
   //you can do your other onBackPressed logic here..

   //Then just call finish()
   finish();
}

编辑:看到OP的评论后

@Override
protected void onPause(){
  super.onPause();
  overridePendingTransition(R.anim.your_exit_animation_one, R.anim.your_exit_animation_two);
}

public void onBackPressed(){
   //you can do your other onBackPressed logic here..

   //Then just call finish()
   finish();
}
于 2012-10-12T04:08:52.120 回答
1

您只需添加一种覆盖方法

@Override
public void finish() {
   super.finish();
   overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
于 2018-07-05T14:37:58.477 回答