package com.bawei.demo.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bawei.demo.R;
import com.bawei.demo.bean.BannerBean;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
/**
* 轮播适配器
*
* @author zhaoliang
* @version 1.0
* @create 2018/6/23
*/
public class BannerAdapter extends PagerAdapter {
private Context context;
private List<BannerBean.ItemBean> list;
private TextView tvTitle;
private TextView tvNum;
private List<ImageView> points;
public BannerAdapter(Context context, List<BannerBean.ItemBean> list, TextView tvTitle, TextView tvNum, List<ImageView> points) {
this.context = context;
this.list = list;
this.tvTitle = tvTitle;
this.tvNum = tvNum;
this.points = points;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
BannerBean.ItemBean itemBean = list.get(position % list.size());
tvTitle.setText(itemBean.getTitle());
tvNum.setText(position % list.size() + "/" + list.size());
changeColor(position % list.size());
ImageLoader.getInstance().displayImage(itemBean.getThumbnail(), imageView);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
/**
* 改变圆点的颜色
*
* @param currentItem
*/
private void changeColor(int currentItem) {
for (int i = 0; i < list.size(); i++) {
if (i == currentItem) {
points.get(i).setImageResource(R.drawable.point_red);
} else {
points.get(i).setImageResource(R.drawable.point_gray);
}
}
}
}
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bawei.demo.R;
import com.bawei.demo.bean.BannerBean;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
/**
* 轮播适配器
*
* @author zhaoliang
* @version 1.0
* @create 2018/6/23
*/
public class BannerAdapter extends PagerAdapter {
private Context context;
private List<BannerBean.ItemBean> list;
private TextView tvTitle;
private TextView tvNum;
private List<ImageView> points;
public BannerAdapter(Context context, List<BannerBean.ItemBean> list, TextView tvTitle, TextView tvNum, List<ImageView> points) {
this.context = context;
this.list = list;
this.tvTitle = tvTitle;
this.tvNum = tvNum;
this.points = points;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
BannerBean.ItemBean itemBean = list.get(position % list.size());
tvTitle.setText(itemBean.getTitle());
tvNum.setText(position % list.size() + "/" + list.size());
changeColor(position % list.size());
ImageLoader.getInstance().displayImage(itemBean.getThumbnail(), imageView);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
/**
* 改变圆点的颜色
*
* @param currentItem
*/
private void changeColor(int currentItem) {
for (int i = 0; i < list.size(); i++) {
if (i == currentItem) {
points.get(i).setImageResource(R.drawable.point_red);
} else {
points.get(i).setImageResource(R.drawable.point_gray);
}
}
}
}