0

Back Button Navigation 问题:当在 Activity 动画时按下 Back 按钮时,如果按下 Back 按钮,它将导航到上一个 Activity 两次。如何解决?

这是我们的准则

    final Intent intent = new Intent(getApplicationContext(), DrugHelp.class);
    ActivitySwitcher.animationOut(findViewById(R.id.container),getWindowManager(),
                new AnimationFinishedListener() {
                @Override
                public void onAnimationFinished() {
                startActivity(intent);
                finish();
                }});
4

3 回答 3

1

尝试这个:

public void onBackPressed() {
   this.finish();
}

如果它仍然返回两次,请在开始动画时将布尔值设置为 true,并在上面的函数中添加

if(!yourBoolean){
   this.finish();
}

希望这有帮助。

于 2013-04-23T12:58:27.407 回答
1

我认为DrugHelpActivity前一个。它可能从未完成,所以它仍然在堆栈上。如果是这种情况,只需完成此操作即可Activivty将您带到上一个尚未完成的操作。如果它已经存在,您也可以使用Intent Flags将它带到堆栈的前面。

final Intent intent = new Intent(getApplicationContext(), DrugHelp.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);  

Intent.FLAG_ACTIVITY_CLEAR_TOP如果您想确保Activities堆栈上的所有其他内容都被删除,您也可以使用。

重新排序到前面

其他意图标志

于 2013-04-23T12:58:45.897 回答
0

如果它只是您在 side 中启动的上一个活动onAnimationFinished,则不要调用 startActivity,只需完成当前活动

于 2013-04-23T13:08:15.630 回答