无限滑动的ViewPager有两种实现方式,一种是将Count设置为Integer.MAX_VALUE,虽然原理上来说是可以滑动完的,但是应该不会有这样的用户。还有一种是真正的无限滑动,就是在ViewPager的前后各加一个View,当滑动到最后一个时就跳转到第一个真正的View,当滑动第一个View时,就跳转到最后一个真正的View。
下面是第一种的Adapter的实现方式
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View view, Object o) {
return view==o;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView(views.get(position%views.size()));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
((ViewPager) container).addView(views.get(position%views.size()));
return views.get(position%views.size());
}