//继承BaseAdapter 重写方法
public class MyAdapter extends BaseAdapter{
//定义标记
private int ONE_TYPE = 0;
private int TWO_TYPE = 1;
private int THREE_TYPE = 2;
Context context;
List<MyJson.ResultBean.DataBean>
list;
private final DisplayImageOptions options;
public MyAdapter(Context context, List<MyJson.ResultBean.DataBean>` list) {
this.context=context;
this.list=list;
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)//使用内存缓存
.cacheOnDisk(true)//使用磁盘缓存
.showImageOnLoading(R.mipmap.ic_launcher)//设置正在下载的图片
.showImageForEmptyUri(R.mipmap.ic_launcher)//url为空或请求的资源不存在时
.showImageOnFail(R.mipmap.ic_launcher)//下载失败时显示的图片
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式 1px=2字节
.imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式
//.displayer(new RoundedBitmapDisplayer(100))//设置圆角 30代表半径 自定义
.build();
}
//返回视图类型条数
@Override
public int getViewTypeCount() {
return 3;
}
//判断类型
@Override
public int getItemViewType(int position) {
String thu1 = list.get(position).getThumbnail_pic_s();
String thu2 = list.get(position).getThumbnail_pic_s02();
String thu3 = list.get(position).getThumbnail_pic_s03();
if (thu1!=null && thu2==null && thu3==null){
return ONE_TYPE;
}else if (thu1!=null && thu2!=null && thu3==null){
return TWO_TYPE;
}else {
return THREE_TYPE;
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
//根据类型设置布局
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
int type = getItemViewType(i);
if (type==ONE_TYPE){
VHolder1 holder1;
if (view==null){
view=View.inflate(context, R.layout.list1,null);
holder1=new VHolder1();
holder1.img1=view.findViewById(R.id.img);
holder1.name=view.findViewById(R.id.list_name);
view.setTag(holder1);
}else {
holder1=(VHolder1) view.getTag();
}
holder1.name.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),holder1.img1,options);
return view;
}else if (type==TWO_TYPE){
VHolder2 holder2;
if (view==null){
view=View.inflate(context, R.layout.list2,null);
holder2=new VHolder2();
holder2.img1=view.findViewById(R.id.img);
holder2.img2=view.findViewById(R.id.img1);
holder2.name=view.findViewById(R.id.list_name);
view.setTag(holder2);
}else {
holder2=(VHolder2) view.getTag();
}
holder2.name.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),holder2.img1,options);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s02(),holder2.img2,options);
return view;
}else {
VHolder3 holder3;
if (view==null){
view=View.inflate(context, R.layout.list3,null);
holder3=new VHolder3();
holder3.img1=view.findViewById(R.id.img);
holder3.img2=view.findViewById(R.id.img1);
holder3.img3=view.findViewById(R.id.img2);
holder3.name=view.findViewById(R.id.list_name);
view.setTag(holder3);
}else {
holder3=(VHolder3) view.getTag();
}
holder3.name.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),holder3.img1,options);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s02(),holder3.img2,options);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s03(),holder3.img3,options);
return view;
}
}
class VHolder1{
ImageView img1;
TextView name;
}
class VHolder2{
ImageView img1;
ImageView img2;
TextView name;
}
class VHolder3{
ImageView img1;
ImageView img2;
ImageView img3;
TextView name;
}
}