RecyclerView的·多条目的应用

package com.example.xiaoyizhoukao3moni;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;

import java.util.List;

/**
 * Created by 秦帆 on 2018-05-26.
 */
 //必须重写为自定义获取ViewHolder的方法
public class myada extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
    //定义的参数
    private final static int NORMAL = 1;
    private final static int IMAGES = 2;

    Context context;
    List<user.DataBeanX.DataBean> data;
    public myada(Context context, List<user.DataBeanX.DataBean> data) {
        this.data=data;
        this.context=context;
    }


    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        //判断是那个参数
           if (viewType==NORMAL){
               View view = View.inflate(context,R.layout.lv,null);
               //获取自己定义的viewhoder01
               zhuan zhuan = new zhuan(view);
               //返回这个holder
               return zhuan;
           }else {
               View view = View.inflate(context,R.layout.lv01,null);
               //获取自己定义的viewhoder02
               zhuan01 zhuan01 = new zhuan01(view);
               //返回这个holder
               return zhuan01;
           }


    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        //获取返回的参数
        int itemViewType = getItemViewType(position);
        //获取数据的位置
        user.DataBeanX.DataBean dataBean = data.get(position);
        //判断
        if(itemViewType == NORMAL){
            //holder 强转iewhoder01
            zhuan holder1 = (zhuan) holder;

            holder1.tv.setText(dataBean.getTitle());
            Glide.with(context).load("http://365jia.cn/uploads/"+dataBean.getPics().get(0)).into(holder1.image);
        }else if(itemViewType == IMAGES){
            //holder 强转iewhoder02
            zhuan01 holder2 = (zhuan01) holder;

            holder2.tv001.setText(dataBean.getTitle());
            Glide.with(context).load("http://365jia.cn/uploads/"+dataBean.getPics().get(0)).into(holder2.imageView01);
            Glide.with(context).load("http://365jia.cn/uploads/"+dataBean.getPics().get(1)).into(holder2.imageView02);
            Glide.with(context).load("http://365jia.cn/uploads/"+dataBean.getPics().get(2)).into(holder2.imageView03);
        }
    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    @Override
    public int getItemViewType(int position) {
        //获取图片的数量
        int size = data.get(position).getPics().size();
        //判断
        if(size==3){
            return IMAGES;
        }else{
            return NORMAL;
        }
    }
//ViewHolder01
    class zhuan extends RecyclerView.ViewHolder{

        private final TextView tv;
        private final ImageView image;

        public zhuan(View itemView) {
            super(itemView);
            tv = itemView.findViewById(R.id.tv);
            image = itemView.findViewById(R.id.image01);
        }
    }
    //ViewHolder02
    class zhuan01 extends RecyclerView.ViewHolder{

        private final ImageView imageView01;
        private final ImageView imageView02;
        private final ImageView imageView03;
        private final TextView tv001;

        public zhuan01(View itemView) {
            super(itemView);
            tv001 = itemView.findViewById(R.id.tv01);
            imageView01 = itemView.findViewById(R.id.image001);
            imageView02 = itemView.findViewById(R.id.image002);
            imageView03 = itemView.findViewById(R.id.image003);
        }
    }

}

猜你喜欢

转载自blog.csdn.net/wumeng5211314/article/details/80472503