完成活动以前没有显示

时间:2017-03-17 16:05:49

标签: java android android-activity

我有四项活动,称它们为A,B,C,D。 从A开始,你可以从B开始,你可以从C开始,然后从C开始。

使用Intent我正在开始新的活动:

Intent intent = new Intent(this, B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent);

活动D扩展活动A:

public class D extends A 
{
    ...
}

当我尝试关闭活动D时,应显示活动C,但不显示活动B,而是显示活动B.完成其他活动,如B,C工作正常(始终显示以前的活动)。 我尝试用finish(),super.onBackPressed()完成D,也尝试调用新的Intent并从中启动C,但是总是显示Activity B.我不明白为什么。

当我完成D?

时,为什么不显示C?

修改 我发现调用了Activity C的onResume(),但是在下一行日志中是:应用程序终止。 ,显示活动B. C中的onResume()中没有代码,所以仍然不知道那里有什么问题。

1 个答案:

答案 0 :(得分:0)

为什么每次都要创建一个新任务?和CLEAR_TOP?

只需创建一个简单的意图

Intent intent = new Intent(this, B.class);
startActivity(intent);

不完全是你想要的吗?

哦,我希望你用你想要展示的活动在每个意图中交换B.class?或者这就是为什么"总是显示活动B"?

在此处查看有关活动和任务返回堆栈的更多信息Tasks and Back Stack