目前,我有一个主活动,该活动具有许多通向其他屏幕的按钮,这些按钮将允许用户建立许多搜索条件。搜索条件通过意图的额外内容传递回主要活动。
子活动从StartActivityForResult开始,然后在用户做出选择后,我调用finish()返回主屏幕。
但是,我现在想将子活动保存在内存中,以便用户可以返回,查看他们输入的内容并调整搜索条件,而不是从头开始输入。如何在不丢失子活动状态的情况下交换回我的主要活动?
谢谢,
米
最佳答案
根据您的描述,主要活动似乎从所有子活动接收数据。听起来也好像该数据足以恢复每个子活动的状态。
您可以在Intent
中使用已知的搜索条件启动子活动。因此,每个子活动都可以从对onCreate()
的意图中恢复其状态。
这是一系列事件:
应用程序启动,主活动启动。
用户按下按钮:主要活动->意向(空)->子活动
用户完成的搜索条件:
子活动返回->意向(搜索条件)->主要活动
用户按下按钮:主要活动->意向(搜索条件)->子活动
因此,在第4步中,主活动将传递在第3步中收到的状态。