将数据从JSON提取到Activity中的列表,然后将列表传递给Activity中的3个片段

时间:2016-09-23 07:47:00

标签: android android-fragments android-json

我有一个Activity和三个标签,每个标签都有自己的Fragment s。我正在将来自JSON的视频信息加载到Activity中的列表中。

我从列表中读取视频的网址并在Activity布局的上半部分显示,下半部分有三个Fragment,第一个Fragment显示有关视频的信息,第二个,相关视频和第三条评论。

问题是:我想在标签中将Activity的列表发送到3 Fragments

我做了很多方法,使用接口,回调,......但是在从url获取JSON数据之前,Fragments启动,当发生这种情况时,空列表要设置为TextView s, EditText中的ImageViewFragment,...,然后应用停止。

如何从JSON获取数据然后加载Fragments?要么 如何同时将数据加载到Activity本身和所有Fragments?要么 我可以分别在活动和3 Fragments中获取JSON,但我不想这样做!

请给我一个教程或文章来学习这门课程。

2 个答案:

答案 0 :(得分:3)

在片段中注册回调侦听器。

在您的活动中加载JSON数据,并将相应的数据设置为静态变量。

现在,在解析JSON后,在静态变量中设置值时,会在片段中触发回调侦听器。

在片段中的回调方法中,设置静态变量的数据。

更新

您还可以将回调侦听器方法中的数据传递给片段,而不是使用静态变量。

答案 1 :(得分:2)

最好的方法是通过界面来实现它并添加额外的但是如果你没有成功,你可以使用以下方法:

1.您可以使用活动总线来整合此功能

https://github.com/greenrobot/EventBus

  1. 其次,您可以通过在父活动上创建公共 getter setter方法并在父活动类型上下文/对象的片段上调用它们来实现此目的。