目前,我有一个主活动,该活动具有许多通向其他屏幕的按钮,这些按钮将允许用户建立许多搜索条件。搜索条件通过意图的额外内容传递回主要活动。

子活动从StartActivityForResult开始,然后在用户做出选择后,我调用finish()返回主屏幕。

但是,我现在想将子活动保存在内存中,以便用户可以返回,查看他们输入的内容并调整搜索条件,而不是从头开始输入。如何在不丢失子活动状态的情况下交换回我的主要活动?

谢谢,

最佳答案

根据您的描述,主要活动似乎从所有子活动接收数据。听起来也好像该数据足以恢复每个子活动的状态。

您可以在Intent中使用已知的搜索条件启动子活动。因此,每个子活动都可以从对onCreate()的意图中恢复其状态。

这是一系列事件:


应用程序启动,主活动启动。
用户按下按钮:主要活动->意向(空)->子活动
用户完成的搜索条件:
子活动返回->意向(搜索条件)->主要活动
用户按下按钮:主要活动->意向(搜索条件)->子活动


因此,在第4步中,主活动将传递在第3步中收到的状态。

10-08 03:28