gpt4 book ai didi

android - 将 Activity 结果传回祖 parent Activity (不是父 Activity )

转载 作者:行者123 更新时间:2023-11-30 02:09:55 26 4
gpt4 key购买 nike

我的情况是我有 3 个 Activity 。

  1. 结果 Activity
  2. 简单搜索 Activity
  3. 复杂搜索 Activity

流程如下:用户可以选择从将启动 SimpleSearchActivity 的 ResultsActivity 进行搜索。用户可以从那里执行简单的搜索。结果传回 Results Activity 。

但是,用户可以从 SimpleSearchActivity 选择进行复杂搜索,这将完成 SimpleSearchActivity 并启动 ComplexSearchActivity。我想从那里将​​结果传递回 ResultsActivity。我不确定该怎么做,因为这第三个 Activity 不是从第一个 Activity 启动的,而是从第二个 Activity 启动的。

我考虑过的选项:

  1. 在复杂搜索情况下,返回到 ResultsActivity 并从那里启动 ComplexSearchActivity。不确定我是否真的想要这个,因为我不希望 SimpleSearch 关闭返回结果然后立即启动 Complex。我担心这会在启动 ComplexSearchActivity 之前“闪现”ResultsActivity。

  2. 在复杂搜索情况下,从 SimpleSearch 使用 startActivityForResult(...) 启动 ComplexSearch,复杂完成时,简单搜索可以获取结果,然后将其传回 Results Activity 。我不确定这种链接是否有效。即使是这样,我也担心在复杂的完成时 SimpleSearchActivity 会“闪烁”只是为了将结果传回。

  3. 将搜索结果存储在某处的静态变量中,在 ResultsActivity 启动时只需检查可能已由任一搜索 Activity 设置的静态变量。呸!

  4. 我还考虑过只进行一次搜索 Activity 并在某些字段上显示/隐藏(简单与复杂)。但是,我将简单搜索作为对话 Activity (在平板电脑的情况下)启动,并将复杂搜索作为全屏 Activity 启动。所以我不能真正使用相同的搜索 Activity 。

想法?以前有人尝试过这样的事情吗?

最佳答案

有几种方法可以实现这一点:

选项 1:您可以选择在启动 ComplexSearchActivity 时关闭 SimpleSearchActivity。相反,让 ComplexSearchActivity 将其结果发送回 SimpleSearchActivity,然后让 SimpleSearchActivity 将该结果传递给 ResultsActivity

更新:至少根据我的经验,这将没有 UI“闪光”;它应该看起来是无缝的。

选项 2:使用 FLAG_ACTIVITY_FORWARD_RESULT ,正是为了这个目的而存在。

关于android - 将 Activity 结果传回祖 parent Activity (不是父 Activity ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com