android - 正在运行的Fragment和Activity之间的通信

标签 android android-activity fragment

我们正在为我的项目使用 Retrofit 和 Activeandroid。

目前我们面临一个问题。 我们在项目中遵循的模式是,我们从服务器获取数据并将其保存到本地数据库中,保存数据后,我们调用从数据库获取数据并填充 UI 的例程,这一切都发生在单个 Activity 中。

现在我们有一个 Activity 发出 3 个服务器请求,因此 Activity 中的代码量增加了。

我们试图通过为 Activity 创建 Fragment 并将获取数据和显示数据的责任交给 Fragment 来减少 Activity 代码。休息电话将根据 Activity 进行。现在,一旦从所有 3 个请求加载了数据,我们需要通知 fragment 有关数据已加载的信息,最好的方法是什么。

加载数据后是否可以将数据发送到 fragment ..或者我们遵循的方法不正确..

请在这方面指导我们..

编辑1 我读到了有关 EventBus 的内容。事件总线能否解决这个问题,否则会影响效率。

最佳答案

如果您将这些 Fragment 实例存储在 Activity 中,那么事情会容易得多。

1) 在 Fragment 中创建 loadNewdata(DataType data) 方法。

2) 在Activity中收到服务器响应后将数据传递到Fragment

((YourFragment)fragment).loadNewdata(yourData);

关于android - 正在运行的Fragment和Activity之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32709533/

相关文章:

android - 如何在 BaseAdapter 中添加 DialogFragment?

android - 切换到另一个 Activity 时保持 Activity 在后台进行?

android - 为 fragment 设置新布局

android - android(xml)中的普通搜索栏和离散搜索栏有什么区别

android - 如何让 ProgressDialog 在应用程序启动时显示?

java - 如何获取Json响应

android - 我调用 finish() 和 startActivity() 的顺序有关系吗?

android - BroadcastReceiver.onReceive 中的上下文是否始终是调用 registerReceiver 的 Activity ?

android - fragment布局不能引用?

android - 使用 newInstance 模式的 fragment 继承