oncreate中
//设置适配器 无限轮播
SyViewPagerAdapter avpa=new SyViewPagerAdapter(list);
sy_vp.setAdapter(avpa);
sy_vp.setCurrentItem(Integer.MAX_VALUE/2-Integer.MAX_VALUE/2%4);
//Integer.MAX_VALUE/2%4中4是Viewpager页面的数量(页面集合的长度)
//移除所有的发送信息 重新发送
handler.removeCallbacksAndMessages(null);
handler.sendEmptyMessageDelayed(0,2000);
Handler中
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
int it=sy_vp.getCurrentItem();
int i=it+1;
sy_vp.setCurrentItem(i);
handler.sendEmptyMessageDelayed(0, 2000);
};
};
适配器中
@Override
public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v=list.get(position%list.size());
container.addView(v);
return v;
}
本文介绍了一种使用Android ViewPager实现无限轮播的方法。通过设置ViewPager的初始位置为Integer.MAX_VALUE/2减去余数,确保轮播从中间开始。并通过Handler发送延迟消息,每隔2秒切换到下一个页面,实现无限轮播效果。
1060

被折叠的 条评论
为什么被折叠?



