android中活动间导航的设计模式
你好 我想知道这个概念是如何在android中实现的android中活动间导航的设计模式,android,Android,你好 我想知道这个概念是如何在android中实现的 此应用程序中的导航如下所示: 活动1----至---->活动2----至---.>活动3----至---> 活动2 但在这样做时:: 我将数据从 Activity1->Activity2->我不从Activity2传递数据- ->活动3 现在 如果我导航回Activity2--from--Activity3 应用程序关闭,因为Activity2需要 不在活动3中 如何克服这一问题,如何保存 从活动3导航回之前的活动2 周期必须为::
- 此应用程序中的导航如下所示:
- 应用程序关闭,因为Activity2需要 不在活动3中
- 如何克服这一问题,如何保存 从活动3导航回之前的活动2
- 如何做到这一点
- 我需要寻找什么概念
我希望我的描述清楚当从Activity3导航回Activity2时,我认为您再次启动Activity2,这是错误的方法。您不需要再次启动Activity2。只需在Activity3中按back按钮,堆栈中的Activity2将再次出现在前台,并且不会再次调用onCreate方法
onPause()
中保存其状态,并在onCreate()
中恢复其状态。片段也是如此startActivityForResult()
,则当活动3完成时,A将在其onActivityResult()
中接收这些结果安卓确保这些方法的调用顺序正确。本着已发布答案的精神: 如果您不重新创建/销毁活动,android生命周期将保留这些活动。但别搞错了,android并不能保证数据会在你回来后就在那里(尽管通常是这样,但垃圾收集器可能会删除一些东西等等) 如果我们丢失了一些东西,当如何从堆栈中移除一个ACTY时,你不知道如何实际保存数据,你可以考虑查看持久性机制(参见)。特别是对于您的输入数据(表格等),我引用了有关该问题的文档部分: 调用活动的onPause()方法时,它应该提交给 备份内容提供商或文件用户所做的任何更改。这 确保任何其他正在进行的活动都能看到这些更改 就要跑了。您可能更希望提交数据 在活动生命周期的关键时刻积极应对:针对 在开始新活动之前,在完成自己的活动之前 活动,当用户在输入字段等之间切换时