我有四项活动,称它们为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()中没有代码,所以仍然不知道那里有什么问题。
答案 0 :(得分:0)
为什么每次都要创建一个新任务?和CLEAR_TOP?
只需创建一个简单的意图
Intent intent = new Intent(this, B.class);
startActivity(intent);
不完全是你想要的吗?
哦,我希望你用你想要展示的活动在每个意图中交换B.class
?或者这就是为什么"总是显示活动B"?
在此处查看有关活动和任务返回堆栈的更多信息Tasks and Back Stack