【问题标题】:Refresh activity after successful API response in android studio在android studio中成功API响应后刷新活动
【发布时间】:2021-06-05 17:53:12
【问题描述】:

我有 3 个活动 A B C ::--

我在活动 A 中为部门列表调用 API,每个部门都有多个经理,经理的详细信息如姓名、手机、电子邮件等。

活动 A(包含部门列表) 活动 B(包含特定部门的经理列表) 活动 C(包含一位经理的个人详细信息,如姓名、手机、电子邮件)等。

活动 A 开始活动 B 在活动 B 上按返回应该会导致 A 活动 B 开始活动 C 在活动 C 上按返回应该会导致 B

在活动 A 中,我获得了列表视图(部门列表)的数据表单 API。我在活动 B 中传递了此数据,尽管意图单击列表视图项(单击包含多个经理列表的部门单元格),现在我有经理列表的列表视图,现在单击经理列表项我传递了该特定经理详细信息的数据在活动 C 中,尽管现在意图在 API 成功响应后调用 API 更新管理器详细信息我想刷新活动 B 以刷新管理器列表我该怎么做

【问题讨论】:

  • 可以说更新的经理详细信息将出现在部门 api 中,每当您更新任何经理详细信息时,我都猜测 api 已更新数据。因此,在您的情况下,您在活动 A 中调用部门 api,当您单击任何项​​目时,其所有详细信息都将发送到活动 B。因此,在您的情况下,当您在活动 C 中更新经理详细信息以获取 API 成功时,您可以返回到活动A 然后点击同一个项目,它会带你到活动 B 那里你可以看到更新的响应。
  • 完成actvity C后,尝试使用OnActvityResult,看一个例子她e:javatpoint.com/android-startactivityforresult-example
  • Hascher .. 我知道,但可以不跳过活动 B ..

标签: android android-api-levels


【解决方案1】:

3 个选项

  1. 始终在onResumeonStart 中刷新活动 B 中的所有经理 - 这将确保您始终拥有最新信息。

  2. 使用startActivityForResult or the new Results API 获取Activity C 的结果。在它更新了manager 之后,将更新后的信息传回给B,它可以使用它来更新选定的Manager。

  3. 使用“离线优先”的架构模式。活动 B 将从本地(房间)数据库中获取数据,它总是在 onResumeonStart 中查询,类似于选项 1 但离线。一旦在线获取完成,活动 C 将更新此数据库。返回到活动 B 时,新数据会自动刷新。谷歌“android 离线优先架构”了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 2022-01-17
    • 1970-01-01
    相关资源
    最近更新 更多