1

我需要开发一个类似于 Android Play Store Application 或类似这个应用程序的应用程序。我阅读了许多教程,发现几乎所有教程都包含与此类似的示例

我已经从我的应用程序开始,并完成了带有片段的 Sample ViewPager,其中包含上面示例中显示的所有静态数据。现在我想获取 WS 数据作为 Playstore 应用程序或以上给定的示例应用程序。我已经做了一个示例,但它只会存储 1,2 个片段的片段数据,当我去第 3 个片段时,它会丢失第 1 个片段并在第 4 个片段时丢失第 2 个片段。

如何实现上述架构并完成它。

更新:

我正在使用 FragmentPagerAdapter ,它只保存两个或三个片段数据。

4

2 回答 2

3

您可以使用 ViewPager.setOffscreenPageLimit(int limit)

设置应保留到处于空闲状态的视图层次结构中当前页面的任一侧的页面数。超出此限制的页面将在需要时从适配器重新创建。

默认限制为 1。它也是最小限制(滑动动画需要)。

于 2013-01-31T08:51:25.100 回答
1

您应该从片段本身内部的某种来源获取数据。因此,当它变得可见时(即何时onCreateView被调用),片段应该用一些数据填充自己。

如果您正在使用网络,那么您应该:

  1. 从您的ContentProvider(或 SQLite 数据库直接获取数据,但仅适用于以下说明ContentProvider)从先前的网络请求中缓存。

  2. 启动您自己Service的执行从服务器上传。

  3. 加载数据后,将其保存到您的ContentProvider(仅ContentProvider适用于此处,因为我们正在跨流程边界工作。但是,ContentProvider它本身可以基于(通常是)基于 SQLit` 数据库)。

  4. 通知您的片段(通常通过绑定到Service并监听它的状态)数据已加载并准备好获取。

  5. ContentProvider从(与 1 相同)获取数据

当然,这不是唯一的方法(但我更喜欢那个)。查看来自 Google I\O 的视频(我刚刚解释过)。

于 2013-01-31T08:37:33.630 回答