【发布时间】:2015-05-12 13:01:51
【问题描述】:
我遇到了以下问题: 有活动 A、B、C 和 D。 B、C 和 D 的每个 Activity 都包含一个项目列表。
现在让我们从 A 开始: 从 A 我想去活动 D 选择一个项目并将其放在 A 的某个地方。 但要从 A 到 D,我必须经过 B 和 C。 那是因为 B、C 和 D 代表一棵对象树。
所以我通过以下方式开始活动: A => B => C => D 最后我想将项目从 D 传递给 A。
到目前为止,我的代码工作正常!
但是: 假设用户在活动 C 中选择了错误的项目。因此他将在活动 D 中得到错误列表。 用户会怎么做?用户将返回 C,选择正确的项目,因此将显示 D 中的正确列表。 然后用户将在 D 中选择想要的项目,并将其传递回 Activity A。
这行不通。 因此,每当用户使用后退按钮返回树中的一级时,代码就不再起作用了。
特别是它不起作用,因为如果我从 D 回到 C Activity C 不再有调用 Activity(actvityC.getCallingActivity() 为空)。
要从 A 转到 B,我使用 startActivityForResult()。 要从 B 到 C,从 C 到 D,我使用 startActivity() 和 Intent.FLAG_ACTIVITY_FORWARD_RESULT。
希望你能理解我的问题并能帮助我。
问候
已编辑:错字已删除
【问题讨论】:
标签: android android-intent android-activity start-activity