我有一种情况,我有3个活动。将活动结果传递给祖父母活动(非父母)
- ResultsActivity
- SimpleSearchActivity
- ComplexSearchActivity
的流程如下:用户可以选择从哪个将推出SimpleSearchActivity的ResultsActivity搜索。从那里用户可以执行简单的搜索。结果将传递给“结果”活动。
但是从SimpleSearchActivity用户可以选择做一个复杂的搜索,这将完成SimpleSearchActivity并启动ComplexSearchActivity。从那里我想将结果传回给ResultsActivity。我不知道该怎么做,因为这第三项活动并非从第一项活动中启动,而是第二项活动。
选项我已考虑:
在复杂的搜索情况下回到ResultsActivity并从那里启动ComplexSearchActivity。不知道我真的想要这样做,因为我不想让SimpleSearch关闭返回到结果,然后立即启动复杂。我担心这会在启动ComplexSearchActivity之前'闪现'ResultsActivity。
在复杂的搜索情况下,SimpleSearch启动ComplexSearch和startActivityForResult(...),在复杂的结束时,简单的搜索可以获取结果,然后将结果传递回结果活动。我不确定这个链接会起作用。即使这样做,我担心在复杂的结束时,SimpleSearchActivity会'闪现',只是为了传递结果。
将搜索结果存储在某个地方的静态变量中,并在ResultsActivity启动时检查可能已由任一搜索活动设置的静态变量。呸!
我也想到了只有一个搜索活动和做某些领域(简单VS复杂)显示/隐藏。但是,我将简单搜索作为对话活动(在平板电脑中)和复杂搜索作为全屏活动进行。所以我不能真正使用相同的搜索活动。
想法?有没有人尝试过这样的事情?
这可能是http://stackoverflow.com/questions/19772284/android-can-you-get-an-activity-result-from-a-chained-startactivityforresult?rq=1的重复。是showC.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); 的答案? – lostintranslation