我需要开发一个与Android Play商店应用类似的应用,或者像this app一样。我阅读了很多教程,几乎找到了与this one类似的示例的每个教程。
我已经开始使用我的应用程序,并使用包含上述示例中显示的所有静态数据的片段的Sample ViewPager完成。现在我想在给定的示例应用程序中将WS数据作为Playstore app或更高版本获取。我已经做了一个样本,但它只存储了1,2个片段的片段数据,当我去第3个片段时,它会丢失第1个片段并在转到第4个片段时丢失第2个片段。
如何实现上述架构并完成它。
更新:
我正在使用FragmentPagerAdapter,其中只保存了两个或三个片段数据。
答案 0 :(得分:3)
您可以使用ViewPager.setOffscreenPageLimit(int limit)
设置应保留在页面两侧的页数 处于空闲状态的视图层次结构中的当前页面。页面超出此范围 在需要时,将从适配器重新创建限制。
默认限制为1.它也是最小限制(滑动动画所需)。
答案 1 :(得分:1)
您应该从某种来源内部片段本身获取数据。因此,当它变得可见时(即调用onCreateView
时),片段应该填充一些数据。
如果您正在使用网络,那么您应该:
从ContentProvider
(或SQLite数据库中直接获取数据,但仅限以下ContentProvider
适用)从先前的网络请求中缓存。
启动您自己的Service
以执行从服务器上传。
只要加载数据,请将其保存到ContentProvider
(这里只适用ContentProvider
,因为我们正在跨进程边界工作。但是,ContentProvider
本身可以基于(通常是)SQLit`数据库)。
通知您的片段(通常通过绑定到Service
并监听其状态)数据已加载并准备好被提取。
从ContentProvider
(与1相同)
当然,这不是唯一的方法(但我更喜欢那个)。来自Google I \ O的See video(我刚刚解释过)。