package adapter;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.zhanhaoxuan.zhanhaoxuan1207.R;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import bean.Result;
/**
* Created by zhanhaoxuan on 2017/12/7.
*/
public class Myadapter extends BaseAdapter {
private Context context;
private List<Result.ResultBean.DataBean> list;
//定义三个常量
private final int one_Image = 0;
private final int two_Image = 1;
private final int three_Image = 2;
public Myadapter(Context context, List<Result.ResultBean.DataBean> list) {
this.context = context;
this.list = list;
}
@Override
public int getItemViewType(int position) {
//拿到图片地址
String pic= list.get(position).getThumbnail_pic_s();
String pic02 = list.get(position).getThumbnail_pic_s02();
String pic03 = list.get(position).getThumbnail_pic_s03();
if (pic!=null&&pic02!=null&&pic03!=null) {
return three_Image;
} else if (pic!=null&&pic02!=null&&pic03==null) {
return two_Image;
} else if (pic!=null&&pic02==null&&pic03==null) {
return one_Image;
}else {
return one_Image;
}
}
@Override
public int getViewTypeCount() {
return 3;
}
@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;
}
//第二步:进行图片的显示配置
DisplayImageOptions 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)//设置图片色彩模式
.imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式===imageView,,ScaleType
.displayer(new RoundedBitmapDisplayer(50))//设置图片圆角显示 弧度
.build();
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
//获取布局类型
int type = getItemViewType(i);
if (type == one_Image) {
viewHolder01 holder01;
if (view == null) {
holder01 = new viewHolder01();
view = View.inflate(context, R.layout.item_one, null);
holder01.img = view.findViewById(R.id.img);
holder01.title = view.findViewById(R.id.title);
view.setTag(holder01);
} else {
holder01 = (viewHolder01) view.getTag();
}
//赋值
holder01.title.setText(list.get(i).getTitle());
//给图片赋值
//第三步:下载图片
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),
holder01.img,
options);
} else if (type == two_Image) {
viewHolder02 holder02;
if (view == null) {
holder02 = new viewHolder02();
view = View.inflate(context, R.layout.item_two, null);
holder02.img001 = view.findViewById(R.id.img001);
holder02.img002 = view.findViewById(R.id.img002);
holder02.title00 = view.findViewById(R.id.title00);
view.setTag(holder02);
} else {
holder02 = (viewHolder02) view.getTag();
}
//赋值
holder02.title00.setText(list.get(i).getTitle());
//给图片赋值
//第三步:下载图片
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),
holder02.img001,
options);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s02(),
holder02.img002,
options);
} else if (type == three_Image) {
viewHolder03 holder03;
if (view == null) {
holder03= new viewHolder03();
view = View.inflate(context, R.layout.item_three, null);
holder03.img0001 = view.findViewById(R.id.img0001);
holder03.img0002 = view.findViewById(R.id.img0002);
holder03.img0003=view.findViewById(R.id.img0003);
holder03.title000 = view.findViewById(R.id.title000);
view.setTag(holder03);
} else {
holder03 = (viewHolder03) view.getTag();
}
//赋值
holder03.title000.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),
holder03.img0001,
options);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s02(),
holder03.img0002,
options);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s03(),
holder03.img0003,
options);
}
return view;
}
class viewHolder01 {
ImageView img;
TextView title;
}
class viewHolder02 {
ImageView img001;
ImageView img002;
TextView title00;
}
class viewHolder03 {
ImageView img0001;
ImageView img0002;
ImageView img0003;
TextView title000;
}
}