android - 将数据从 JSON 获取到 Activity 中的列表,然后将列表传递给 Activity 中的 3 个 fragment

标签 android android-fragments android-json

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

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

问题是:我想将列表从 Activity 发送到选项卡中的 3 个Fragments

我做了很多方法,使用接口(interface)、回调......但在从 url 获取 JSON 数据之前,Fragments 启动,当发生这种情况时,空列表需要设置为 TextView s、EditTexts、ImageViews、...在 Fragment 中,然后应用程序停止。

如何从 JSON 获取数据然后加载 Fragments?或者 如何同时将数据加载到Activity本身和所有Fragment?或者 我可以分别获取 Activity 中的 JSON 和 3 个 Fragments,但我不想这样做!

请给我一个教程或一篇文章来学习这个主题。

最佳答案

在 fragment 中注册回调监听器。

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

现在,当您在解析 JSON 后在静态变量中设置值时,会触发 fragment 中的回调监听器。

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

更新:

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

关于android - 将数据从 JSON 获取到 Activity 中的列表,然后将列表传递给 Activity 中的 3 个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39655429/

相关文章:

android - 解析没有 key 的简单 JSON 数组

java - Android:从 Fragment 调用父 Activity

android - 在 Android 中实现 SeekBar Listener 接口(interface)时出现空指针异常

java - 我想从我的服务启动线程,这样操作就不会在 android 的主线程中运行

Android 将文件路径传递给 OpenCV imread 方法

android - 强制 fragment 内的 LiveData Observer 在再次可见后接收更改?

android - setRetainInstance(true) 与后台 Activity

android - Gson 在单个 JSON 对象中使用两种列表类型进行序列化

java - Android 中的 JSON 对象

java - Firebase Firestore 读取 Java 中的嵌套对象值 (Android)