如何避免后台堆栈中的重复活动?

时间:2017-01-31 05:19:04

标签: android

我有一个活动A,B,C,活动A打开活动B(A - > B),活动B打开活动C现在后面的堆栈将是(A - > B - > C)现在活动C打开活动B(A→B→C→B),并且在某些情况下,在这种情况下活动C将被破坏(A - > B - > B)是后堆栈。当我点击活动B时,应用程序再次进入活动B,我不想这样做。我需要直接回到活动A.我尝试使用单顶但是单顶只有在创建的活动不在后面的堆栈中发生时才起作用。我们能以任何方式实现这一目标吗?

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

覆盖活动B上的onBackPressed方法

@Override
    public void onBackPressed() {
        Intent i = new Intent(B.class, A.class);
        i.startActivity(i);
    }

答案 1 :(得分:-1)

将此代码添加到您的每项活动中。

 @Override
public void onBackPressed() {
    super.onBackPressed();
    finish();
}

当您返回上一个活动时,此代码将从堆栈中完成您的活动。