0

我有一个包含 3 个片段的活动,当我在 fragCurrencyExchange 中将对象添加到数据库时,我需要从数据库更新 fragExchangeHistory listView。我怎么能做到?

代码:GitHub

4

3 回答 3

1

使用EventBus类似https://github.com/greenrobot/EventBus的方式在 Fragment 和其他组件之间进行通信。因此,当片段 A 更新数据库中的某些内容时,您可以触发一个事件来通知其他片段有关更改的信息。

于 2015-03-22T12:36:54.500 回答
0

在活动和片段之间实现观察者模式,以便您可以在将一些新数据添加到活动以及从活动到片段时通知。这样,通知流程为:

  • 片段 A 将数据添加到数据库。
  • Fragment A 通知其 Activity Observer 数据已更新。
  • Activity 通知所有其他 Fragment 数据已更新。

正如您所看到的,这将您的活动与片段结合了很长时间,因此我通常使用某种事件总线库,例如这样这样,使您的代码非常解耦且易于理解。

于 2015-03-22T12:39:11.150 回答
0

也许您应该使用CursorLoader.A CursorLoader 在与查询关联的数据发生更改时自动重新运行查询。您应该从Android Developer 官方网站上查看。

于 2015-03-22T12:44:49.780 回答