---------------------ImageView实现图片的无限轮播--------------------------------
//获取控件 img = (ImageView) findViewById(R.id.img); //设置图片的方法String path ="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=8&page=5、、、、路径"; NetDataUtil.getData(path, this, new JsonCallBack() { @Override public void getJson(String json) { Gson gson = new Gson(); DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); List<DataDataBean.DataBean> data = dataDataBean.getData(); //存图片路径的集合HandlerList<String> list =new ArrayList<>();for (int i=0;i<data.size();i++){ list.add(data.get(i).getImg()); } //设置图片 ImageLoader.getInstance().displayImage(list.get(0),img, ImageLoaderUtil.shape()); hh.sendEmptyMessageDelayed(0,3000); }});
Handler hh = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==0){ index++; ImageLoader.getInstance().displayImage(list.get(index%list.size()),img, ImageLoaderUtil.shape()); hh.sendEmptyMessageDelayed(0,3000); } } };----------------------viewpager-------------------------------------------
//控件vp = (ViewPager) findViewById(R.id.vp);String path ="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=8&page=5"; NetDataUtil.getData(path, this, new JsonCallBack() { private List<DataDataBean.DataBean> data1; @Override public void getJson(String json) { Gson gson = new Gson(); DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); data1 = dataDataBean.getData(); //设置适配器 ImgAdapter imga = new ImgAdapter(data1,MainActivity.this); vp.setAdapter(imga); vp.setCurrentItem(list.size()*100000); h2.sendEmptyMessageDelayed(1,2000); } });Handler
Handler h2 = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==1){ vp.setCurrentItem(vp.getCurrentItem()+1); h2.sendEmptyMessageDelayed(1,2000); } } };----------------适配器类--------------------
public class ImgAdapter extends PagerAdapter { List<DataDataBean.DataBean> list; Context cxt; public ImgAdapter(List<DataDataBean.DataBean> list, Context cxt) { this.list = list; this.cxt = cxt; } @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(cxt); imageView.setScaleType(ImageView.ScaleType.FIT_XY); ImageLoader.getInstance().displayImage(list.get(position%list.size()).getImg(),imageView, ImageLoaderUtil.shape()); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }