将ViewPager碎片化为Play商店应用?

时间:2013-01-31 08:26:12

标签: android android-fragments android-viewpager

我需要开发一个与Android Play商店应用类似的应用,或者像this app一样。我阅读了很多教程,几乎找到了与this one类似的示例的每个教程。

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

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

更新:

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

2 个答案:

答案 0 :(得分:3)

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

  

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

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

答案 1 :(得分:1)

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

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

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

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

  3. 只要加载数据,请将其保存到ContentProvider(这里只适用ContentProvider,因为我们正在跨进程边界工作。但是,ContentProvider本身可以基于(通常是)SQLit`数据库)。

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

  5. ContentProvider(与1相同)

  6. 获取数据

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