viewPager = findViewById(R.id.vp);
//获取图片的路径把图片的地址添加到一个字符串集合里。在设置适配器也就是轮播图,使用handler发送消息
先定义一个字符串集合:
List<String> picUrls=new ArrayList<>();
从bean包的集合中获取图片的地址
List<Result.DataBean.EssayBean> essay = result.getData().getEssay(); //可以替换
循环获取图片地址,添加到字符串集合
for (int i = 0; i <essay.size() ; i++) {
String data=essay.get(i).getAuthor().get(0).getWeb_url(); //可以替换
picUrls.add(data);
}
//设置适配器轮播图
MyAdapter adapter=new MyAdapter(picUrls,MainActivity.this);
viewPager.setAdapter(adapter);
//使用handler发送消息
myHanler.sendEmptyMessageDelayed(0,500);
Handler接受消息再次发送
private Handler myHanler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int index=viewPager.getCurrentItem();
index++;
viewPager.setCurrentItem(index);
sendEmptyMessageDelayed(0,500);
}
};
轮播图的适配器
public class MyAdapter extends PagerAdapter {
private List<String> urls;
private Context context;
public MyAdapter(List<String> urls, Context context) {
this.urls = urls;
this.context = context;
}
@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 img=new ImageView(context);
//使用ImageLoader对图片处理
ImageLoader.getInstance().displayImage(urls.get(position%urls.size()),img,ImageLoaderutils.getImageOption(context));
container.addView(img);
return img;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// super.destroyItem(container, position, object);
container.removeView((View)object);
}
}