假设我有一个应用程序,其中包含名为 A、B、C、D 的活动。现在,考虑 A 已作为根活动启动,B 已从 A 启动,C 已从 B 启动,D 已从 C 启动。现在我在活动 D 中有一个名为“删除”的按钮。如果假设,我按下活动 D 中的“删除”按钮,然后活动 B 和活动 C 应该从历史堆栈中删除。在按活动 D 中的后退键时,应显示活动 A 而不是 C。我不知道如何实现这一点。谁能帮我解决这个问题?
我不确定您是否可以直接以编程方式从历史记录中删除活动,但如果您使用startActivityForResult()
代替startActivity()
,然后根据您的活动的返回值,您可以立即finish()
前驱活动来模拟您想要的行为。通过在所有活动中使用此方法,您可以将此行为级联到活动堆栈,以允许您从活动 D 转到活动 A。
我知道这不是您的情况,但将来如果您在开始活动之前知道您不希望前任留下来,您可以致电finish()
之后立马startActivity()
.
请参阅“新屏幕的使用寿命”部分Android 中的常见任务以及如何执行这些任务 http://developer.android.com/guide/appendix/faq/commontasks.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)