android - 如何在显示前预加载 fragment ?

标签 android fragment

在我的 Activity 中,我有几个全屏 fragment ,每个 fragment 都从网络下载一些数据(使用异步任务)并将它们显示给用户。 fragment 一次显示一个。

更具体地说,每个 fragment 都从 sqlite 数据库中读取一些 url,并在将它们显示在列表中之前获取内容(如果有的话)。数据加载任务可以在 OnCreate() 函数中完成。

当我显示启动画面时,我想预加载所有 fragment (至少开始下载)。很像 viewpager 预加载它的 fragment 。

我想知道如何实现这一点?我尝试在我的 Activity 的 OnCreate() 函数中初始化/创建所有 fragment ,希望 fragment 的 OnCreate() 可以更早地调用,但是 fragment 的 OnCreate() 和 OnCreateView() 函数在 fragment 被调用之前不会被调用即将显示给用户。

最佳答案

听起来您需要将模型(下载的数据)与 View ( fragment )分开。一种方法是在您的 Activity 中开始下载 AsyncTasks,而不是在每个 fragment 中开始它们。然后,当最终显示 fragment 时,它们可以显示已下载的数据(或旋转器或其他表明下载过程仍在执行的指示)。

关于android - 如何在显示前预加载 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25634709/

相关文章:

android - 仅使用 Proguard 来禁用日志记录和缩减资源

android - 如何去除 ActionBar 上应用程序图标和屏幕边缘之间的边距?

android - fragment 在重新附加时创建/恢复重复 View

android - 无法对非静态方法 getAssets() 进行静态引用 - 在 fragment 中播放音频时遇到问题

android - fragment 中的 java.lang.NoClassDefFoundError

java - 关于处理数据存储库的Android应用程序软件设计

android - Android 平板电脑上的 CSS 预处理器

android - 打开 NavigationView 只点击左上角的图标但不使用 swype 手势

android - Android 上存在 fragment 问题的 ListView

android - 不能在 ListFragment 上使用 SimpleAdapter