多条目适配器

package com.example.myapplication4;

import android.content.Context;
import android.graphics.Bitmap;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;

import java.util.List;


public class MyAdapter extends BaseAdapter {
    Context context;
    List<Bean.DataBean> list;
    private final int ONE_ITEM=0;
    private final int TWO_ITEM=1;
    private final int THEHE_ITEM=2;
    private ImageLoader imageLoader=ImageLoader.getInstance();
    private final DisplayImageOptions builder;

    public MyAdapter(Context context, List<Bean.DataBean> list) {
        this.context=context;
        this.list=list;

        builder = new DisplayImageOptions.Builder()
                .cacheInMemory(true)
                .bitmapConfig(Bitmap.Config.RGB_565)
                .showImageForEmptyUri(R.mipmap.ic_launcher)
                .displayer(new CircleBitmapDisplayer())
                .build();

    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public int getItemViewType(int position) {
        String thumbnail_pic_s = list.get(position).getThumbnail_pic_s();
        String thumbnail_pic_s02 = list.get(position).getThumbnail_pic_s02();
        String thumbnail_pic_s03 = list.get(position).getThumbnail_pic_s03();

       if (thumbnail_pic_s!=null&&thumbnail_pic_s02==null&&thumbnail_pic_s03==null){
           return ONE_ITEM;
       }else if (thumbnail_pic_s!=null&&thumbnail_pic_s02!=null&&thumbnail_pic_s03==null){
        return TWO_ITEM;
       }else if (thumbnail_pic_s!=null&&thumbnail_pic_s02!=null&&thumbnail_pic_s03!=null){
           return THEHE_ITEM;

       }else {
           return ONE_ITEM;
       }


    }

    @Override
    public int getViewTypeCount() {
        return 3;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        int itemViewType = getItemViewType(position);
        //判断类型
                  if (itemViewType==ONE_ITEM){
                ViewHolder1 holder1;
                //第一个优化
                if (convertView==null){
                    convertView=View.inflate(context,R.layout.item,null);
                    holder1 = new ViewHolder1();
                    holder1.textView=convertView.findViewById(R.id.item1_text);
                    holder1.imageView=convertView.findViewById(R.id.item1_iamge);
                    convertView.setTag(holder1);

                }else {
                    holder1= (ViewHolder1) convertView.getTag();
                }
                holder1.textView.setText(list.get(position).getTitle());
                String thumbnail_pic_s = list.get(position).getThumbnail_pic_s();
                imageLoader.displayImage(thumbnail_pic_s,holder1.imageView,builder);

                //第二个优化
            }else if (itemViewType==TWO_ITEM){
                ViewHolder2 holder2;
                if (convertView==null){
                    convertView=View.inflate(context,R.layout.item_2,null);
                    holder2 = new ViewHolder2();
                    holder2.textView=convertView.findViewById(R.id.item2_text);
                    holder2.imageView=convertView.findViewById(R.id.item2_iamge1);
                    holder2.imageView2=convertView.findViewById(R.id.item2_iamge2);
                    convertView.setTag(holder2);

                }else {
                    holder2= (ViewHolder2) convertView.getTag();
                }

            holder2.textView.setText(list.get(position).getTitle());
            String thumbnail_pic_s = list.get(position).getThumbnail_pic_s();
            String thumbnail_pic_s02 = list.get(position).getThumbnail_pic_s02();
            imageLoader.displayImage(thumbnail_pic_s,holder2.imageView,builder);
            imageLoader.displayImage(thumbnail_pic_s02,holder2.imageView2,builder);

            //第三个优化
        }else if (itemViewType==THEHE_ITEM){
            ViewHolder3 holder3;
            if (convertView==null){
                convertView=View.inflate(context,R.layout.item_3,null);
                holder3 = new ViewHolder3();
                holder3.textView=convertView.findViewById(R.id.item3_text);
                holder3.imageView=convertView.findViewById(R.id.item3_iamge1);
                holder3.imageView2=convertView.findViewById(R.id.item3_iamge2);
                holder3.imageView3=convertView.findViewById(R.id.item3_iamge3);
                convertView.setTag(holder3);

            }else {
                holder3= (ViewHolder3) convertView.getTag();
            }

            holder3.textView.setText(list.get(position).getTitle());
            String thumbnail_pic_s = list.get(position).getThumbnail_pic_s();
            String thumbnail_pic_s02 = list.get(position).getThumbnail_pic_s02();
            String thumbnail_pic_s03 = list.get(position).getThumbnail_pic_s03();
            imageLoader.displayImage(thumbnail_pic_s,holder3.imageView,builder);
            imageLoader.displayImage(thumbnail_pic_s02,holder3.imageView2,builder);
            imageLoader.displayImage(thumbnail_pic_s03,holder3.imageView3,builder);
        }

        return convertView;
    }

    class ViewHolder1{
        TextView textView;
        ImageView imageView;

    }
    class ViewHolder2{
        TextView textView;
        ImageView imageView;
        ImageView imageView2;
    }
    class ViewHolder3{
        TextView textView;
        ImageView imageView;
        ImageView imageView2;
        ImageView imageView3;
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值