您的位置:首页 > 其它

关于viewpage无限轮播的一些问题

2018-03-28 19:29 197 查看
主要就是适配器的问题,上代码,注释详细的一批

class MyPagerAdapter extends PagerAdapter
{
//返回显示数据的总条数,为了实现无限循环,把返回的值设置为最大整数
@Override
public int getCount()
{
return Integer.MAX_VALUE;
}

//指定复用的判断逻辑,固定写法:view == object
@Override
public boolean isViewFromObject(View view, Object object)
{
//当创建新的条目,又反回来,判断view是否可以被复用(即是否存在)
return view == object;
}

//返回要显示的条目内容
@Override
public Object instantiateItem(ViewGroup container, int position)
{
//container 容器 相当于用来存放imageView
//从集合中获得图片
int newPosition = position % imageViews.size(); //数组中总共有n张图片,超过数组长度时,取摸,防止下标越界

//imageViews是view的集合,想要在viewpage里面显示多少view自己定义即可
ImageView imageView = imageViews.get(newPosition);

if (container.equals(imageView.getParent()))
{
container.removeView(imageView);
}
//把图片添加到container中
container.addView(imageView);
//把图片返回给框架,用来缓存
return imageView;
}

//销毁条目
@Override
public void destroyItem(ViewGroup container, int position, Object object)
{
//object:刚才创建的对象,即要销毁的对象
//去掉下面这句,三张图片就也可以进行无限轮播了
//container.removeView((View) object);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: