Ste*_*his 1 android android-activity
我有一系列的多个活动,有时我想进入我的应用程序的不同部分,我不想在堆栈中包含以前的活动。就像这样:活动 A -> 活动 A1 -> 活动 A2 -> 活动 A3 -> 活动 B
当我开始活动 B 时,我想关闭所有的 As 活动。
做到这一点最简单的方法我觉得是setResult那么finish的最后一项活动,并在以前的查找结果,并关闭活动以及传递相同的数据之后。
所以我在开始B之前setResult然后finishA3。
问题是 A3 已完成,但onActivityResult在我关闭 B 之前不会在 A2 上调用,以便应恢复 A2。
我认为onActivityResult如果在其上启动另一个活动,则无法传播到多个活动。
然后我被屏蔽了。我不知道我应该做什么,或者是否有另一种方法可以一次关闭多个活动。
您必须使用 startActivityForResult() 启动 A 的所有活动。当您开始活动 B 时,
setResult in A3 and finish A3. A3 一完成,A2 onActivityResult()将被调用,setResult 并完成它。A2 一完成,A1 的 onActivityResult 就会被调用。现在对关闭活动的结果做任何你想做的事情。
或者您可以在 A 的所有子活动完成后从 A 开始 B。
| 归档时间: |
|
| 查看次数: |
6158 次 |
| 最近记录: |