先要找到控件
pager = view.findViewById(R.id.pager);
//给viewpager 赋图片 public void MyPager(){ List<String> picUrl= new ArrayList<>(); picUrl.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1513679323820&di=d33523977cd2b8c0e831513baa205965&imgtype=0&src=http%3A%2F%2Fc.hiphotos.baidu.com%2Fimage%2Fpic%2Fitem%2Fa686c9177f3e67092b94a19231c79f3df9dc55c3.jpg"); picUrl.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1513679323820&di=9d535a4011922065fc36e1d0cb3790fa&imgtype=0&src=http%3A%2F%2Fb.hiphotos.baidu.com%2Fimage%2Fpic%2Fitem%2Fac4bd11373f082024ba9705241fbfbedab641ba7.jpg"); picUrl.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1513679323820&di=7d77f15e8f8556eb72fee9b0962ef985&imgtype=0&src=http%3A%2F%2Ff.hiphotos.baidu.com%2Fimage%2Fpic%2Fitem%2Fc75c10385343fbf25fb0ff46ba7eca8065388f33.jpg"); //设置适配器 MyPagerimageAdapter adapter = new MyPagerimageAdapter(getActivity(), picUrl); pager.setAdapter(adapter);写一个方法 获取网络图片 并设置适配器 发送消息//每过一秒钟 设置一下myHandler.sendEmptyMessageDelayed(0,1000);}
下面是handler的代码 首先是获取当前滑动到哪张图片 其次是让这个图片自增长 并传给viewpager对象 每过一秒 发送一次
private Handler myHandler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); int index=pager.getCurrentItem(); index++; pager.setCurrentItem(index); sendEmptyMessageDelayed(0,1000); } };最后是适配器的代码 在适配器里加载的是配置imagerloder的代码 注意删除和添加的方法要自己重写
class MyPagerimageAdapter extends PagerAdapter { private DisplayImageOptions options; private Context context; private List<String> picUrl; public MyPagerimageAdapter(Context context, List<String> picUrl) { this.picUrl = picUrl; this.context =context; options=new DisplayImageOptions.Builder() .cacheInMemory(true)//使用内存缓存 .cacheOnDisk(false)//使用磁盘缓存 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式 .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式 .build(); } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } //添加的方法 @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView=new ImageView(context); ImageLoader.getInstance().displayImage(picUrl.get(position%picUrl.size()),imageView,options); container.addView(imageView); return imageView; } //删除的方法 @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View)object); } }