【发布时间】:2015-11-18 22:03:22
【问题描述】:
我有一个表单的活动堆栈列表,但是一旦表单完成,我想清除除第一个活动之外的所有堆栈,但显示一个新活动,因此当点击新活动时将返回到第一个活动。
例如A -> B -> C -> D 然后变成 A -> E 这样在 D 上提交表单后,E 将对用户可见。
我要以这种方式启动吗?
Intent message = new Intent();
message.setFlag(ACTIVITY_FLAG_CLEAR_TOP)
message.addClass(getContext(), E.class)
startActivity(E.class);
【问题讨论】:
-
您可以使用 Finish() 方法或向意图添加标志。 stackoverflow.com/a/24524014/5577385
-
我认为这行不通。 CLEAR_TOP 表示如果你启动A,B orC,它上面的活动将被清除。如果你在启动C和D时使用finish,你可以实现A->E,但D不能回到C,C不能回到B。如果你确实想要A->B->C->D然后变成A->E,一种可能的方法是使用 StartActivityForResult 并在 A、B、C、D 中处理 onActivityForResult,然后在 A 中启动 E。
-
你的意思是完成每个 onActivityForResult 上的每个活动
标签: android android-intent activity-stack