多条目ListView

   //定义三种类型

    private final int ONE_IMAGE=0;

    private final int TWO_IMAGE=1;

    private final int THREE_IMAGE=2;

 

    public MyAdapter(Context context, List<ResultData.ResultBean.DataBean> data) {

        this.context = context;

        this.data = data;

 

        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 pics = data.get(position).getThumbnail_pic_s();

        String pic02 = data.get(position).getThumbnail_pic_s02();

        String pic03 = data.get(position).getThumbnail_pic_s03();

 

        if(pics!=null && pic02==null && pic03==null){

            return ONE_IMAGE;

        }else if(pics!=null && pic02!=null && pic03==null){

            return TWO_IMAGE;

        }else{

            return THREE_IMAGE;

        }

 

 

 

    }

 

    @Override

    public int getCount() {

        return data.size();

    }

 

    @Override

    public Object getItem(int i) {

        return data.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_IMAGE){

            Holder1 holder1;

            if(view==null){

                holder1=new Holder1();

                view=View.inflate(context, R.layout.image_one,null);

                holder1.imageView=view.findViewById(R.id.img);

                holder1.textView=view.findViewById(R.id.tv);

                view.setTag(holder1);

            }else {

                holder1= (Holder1) view.getTag();

            }

            holder1.textView.setText(data.get(i).getTitle());

            ImageLoader.getInstance().displayImage(data.get(i).getThumbnail_pic_s(),holder1.imageView,options);

            return view;

 

 

        }else if(type==TWO_IMAGE){

            Holder2 holder2;

            if(view==null){

                holder2=new Holder2();

                view=View.inflate(context, R.layout.image_two,null);

                holder2.imageView=view.findViewById(R.id.img1);

                holder2.imageView1=view.findViewById(R.id.img2);

                holder2.textView=view.findViewById(R.id.tv);

                view.setTag(holder2);

            }else {

                holder2= (Holder2) view.getTag();

            }

            holder2.textView.setText(data.get(i).getTitle());

            ImageLoader.getInstance().displayImage(data.get(i).getThumbnail_pic_s(),holder2.imageView,options);

            ImageLoader.getInstance().displayImage(data.get(i).getThumbnail_pic_s02(),holder2.imageView1,options);

            return view;

        }else {

            Holder3 holder3;

            if(view==null){

                holder3=new Holder3();

                view=View.inflate(context, R.layout.image_three,null);

                holder3.imageView=view.findViewById(R.id.img1);

                holder3.imageView1=view.findViewById(R.id.img2);

                holder3.imageView2=view.findViewById(R.id.img3);

                holder3.textView=view.findViewById(R.id.tv);

                view.setTag(holder3);

            }else {

                holder3= (Holder3) view.getTag();

            }

            holder3.textView.setText(data.get(i).getTitle());

 

            ImageLoader.getInstance().displayImage(data.get(i).getThumbnail_pic_s(),holder3.imageView,options);

            ImageLoader.getInstance().displayImage(data.get(i).getThumbnail_pic_s02(),holder3.imageView1,options);

            ImageLoader.getInstance().displayImage(data.get(i).getThumbnail_pic_s03(),holder3.imageView2,options);

 

            return view;

        }

 

    }

    class  Holder1{

        ImageView imageView;

        TextView textView;

 

    }

    class  Holder2{

        ImageView imageView;

        ImageView imageView1;

        TextView textView;

 

    }

    class  Holder3{

        ImageView imageView;

        ImageView imageView1;

        ImageView imageView2;

        TextView textView;

 

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值