先要找到控件
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); } }