需求:
通过左右滑动刷新ViewPager的内容,要求往右前进,往左后退,除非遇到数据两个端点否则不会间断。
记录一下我的处理过程,前后一共试用了4种方法:
方法一:ViewPager(10个page)
左右滑动处理:ViewPager中添加10个page,都是一个Fragment的复用,当滑动到最后一个界面时,跳转到第一个page。实现循环滑动。
数据处理:
内存常驻10组数据。
第一次加载:初次加载10条数据,分别布局到10个page上。
更新数据:每当向右滑动滑动到第10个page时,自动加载新的一组数据。每当向左滑动到第1个page时,加载一组新的数据。
当然,加载的数据可以从网上下载或者从本地数据表或文件加载。
思路介绍:
1.10张page的ViewPage只用在首尾加载数据,中间可以保证流畅滑动加载。
2.使用setCurrentItem();进行跳转,实现循环滑动的效果。即只要有数据,向左向右可以无限拖动。
3,ViewPager滑动时的默认动画是可以看到下一张的缩影的,而我们的数据已经布局到每一个page上了,因此缩影上有数据。
出现的bug:
1.使用setCurrentItem();从最后一张跳到第一张时,不是一下跳到的,而是遍历了从0-9张,可以使用下面的代码来遮盖这个效果&