0

在我的 android 应用程序中,我有四个活动 A->B->C->D 并且在每个活动中我调用 Web 服务然后从服务器更新列表视图和其他元素所以假设我确实从数据库中删除了一些数据用于活动A 如果用户访问 Activity B 并按下后退按钮,则应刷新 Activity A。我确实覆盖了 onResume 方法并检查数据是否更新但没有工作。我也尝试了另一种方法,但没有达到我的目标。

我的活动结构如下

  • A 类是片段,它有两个选项卡,每个选项卡都包含列表视图
  • B类是活动
  • C类是活动
  • D类是活动

我不明白按下后退按钮时如何再次调用 Web 服务,以及当用户按下后退按钮时如何更新片段和活动。请任何人给我一些答案。

提前致谢

4

2 回答 2

0

您可以覆盖 OnBackPressed 方法。检查该链接上的最佳答案!

Android:在 Toast 中使用 onBackPressed() 的正确方法

于 2013-07-12T13:23:20.600 回答
0

使用“startActivityForResult”而不是“startActivity”从活动 A 开始活动 B。

在活动 B 中,您默认返回 RESULT_CANCELED -> 所以 setResult(RESULT_CANCELED)。只有当活动 B 故意完成时,您才返回 RESULT_OK。

在活动 A 中,您只需要实现 onActivityResult()。根据从活动 B 返回的结果,您可以在活动 A 中执行特定的操作,在您的情况下刷新某些内容。

这是一个例子:http ://www.vogella.com/articles/AndroidIntent/#usingintents_sub

于 2013-07-12T13:23:46.240 回答