Adapter 多条目加载代码

来源:互联网 发布:mac备份 编辑:程序博客网 时间:2024/06/03 17:12
private int TYTLE_ONLY = 0;//只有文字的形式private int IMAGE_LEFT = 1;//表示图片在左边,文字在右边private int IMAGE_RIGHT = 2;//* 2表示图片在右边,文字在左边private int IMAGE_BOTTOM = 3;// * 3表示文字在上边,图片在下面List<Datadatabean.DataBean> zlist;Context context;public Myadapter(List<Datadatabean.DataBean> zlist, Context context) {    this.zlist = zlist;    this.context = context;}@Overridepublic int getCount() {    return zlist.size();}@Overridepublic Object getItem(int i) {    return zlist.get(i);}@Overridepublic long getItemId(int i) {    return i;}@Overridepublic int getItemViewType(int position) {    if(position%4==0)    {        return TYTLE_ONLY;    }else if(position==1)    {        return IMAGE_LEFT;    }    else if(position==2)    {        return IMAGE_RIGHT;    }    return IMAGE_BOTTOM;}@Overridepublic int getViewTypeCount() {    return 4;}@Overridepublic View getView(int i, View view, ViewGroup viewGroup) {    //在做优化之前先判断一下当前条目展示的是哪一种类型,,,然后再进行关联布局进行优化    if (getItemViewType(i) == TYTLE_ONLY){        TitleHolder holder;        if (view == null){            view = View.inflate(context, R.layout.data1,null);            holder = new TitleHolder();            holder.textView = view.findViewById(R.id.text_title);            view.setTag(holder);        }else {            holder = (TitleHolder) view.getTag();        }        //赋值        holder.textView.setText(zlist.get(i).getTitle());    }else if (getItemViewType(i) == IMAGE_LEFT){        ImageLeftHolder holder;        if (view == null){            view = View.inflate(context, R.layout.data2,null);            holder = new ImageLeftHolder();            holder.textView = view.findViewById(R.id.text_title2);            holder.imageView = view.findViewById(R.id.image_view2);            view.setTag(holder);        }else {            holder = (ImageLeftHolder) view.getTag();        }        //赋值        holder.textView.setText(zlist.get(i).getTitle());        //显示图片        ImageLoader.getInstance().displayImage(zlist.get(i).getImg(),holder.imageView, Imagsds.getdis());    }else if (getItemViewType(i) == IMAGE_RIGHT){        ImageRightHolder holder;        if (view == null){            view = View.inflate(context, R.layout.data3,null);            holder = new ImageRightHolder();            holder.textView = view.findViewById(R.id.text_title3);            holder.imageView = view.findViewById(R.id.image_view3);            view.setTag(holder);        }else {            holder = (ImageRightHolder) view.getTag();        }        //赋值        holder.textView.setText(zlist.get(i).getTitle());        //显示图片        ImageLoader.getInstance().displayImage(zlist.get(i).getImg(),holder.imageView,  Imagsds.getdis());    }else if (getItemViewType(i) == IMAGE_BOTTOM){        ImageBottomHolder holder;        if (view == null){            view = View.inflate(context, R.layout.data4,null);            holder = new ImageBottomHolder();            holder.textView = view.findViewById(R.id.text_title4);            holder.imageView = view.findViewById(R.id.image_view4);            view.setTag(holder);        }else {            holder = (ImageBottomHolder) view.getTag();        }        //赋值        holder.textView.setText(zlist.get(i).getTitle());        //显示图片        ImageLoader.getInstance().displayImage(zlist.get(i).getImg(),holder.imageView, Imagsds.getdis());    }    return view;}private class TitleHolder{    TextView textView;}private class ImageLeftHolder{    TextView textView;    ImageView imageView;}private class ImageRightHolder{    TextView textView;    ImageView imageView;}private class ImageBottomHolder{    TextView textView;    ImageView imageView;}