recycleview多布局,带type值。

来源:互联网 发布:淘宝发布食品宝贝 编辑:程序博客网 时间:2024/05/24 07:17
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {    private List<MyBean.InfoListBean> list;    private Context context;    public MyAdapter(List<MyBean.InfoListBean> list, Context context) {        this.list = list;        this.context = context;    }//重要的方法返回viewtype值,把position赋值给viewtype    @Override    public int getItemViewType(int position) {        return list.get(position).getType();    }    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        RecyclerView.ViewHolder holder = null;        View view = null;        switch (viewType) {            case 0:                view = LayoutInflater.from(context).inflate(R.layout.two_item, parent, false);                holder = new Two(view);                break;            case 1:                view = LayoutInflater.from(context).inflate(R.layout.one_item, parent, false);                holder = new One(view);                break;        }        view.setOnClickListener(this);        return holder;    }    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {        int type = list.get(position).getType();        switch (type) {            case 0:                Two holderTwo = (Two) holder;                ((Two) holder).name2.setText(list.get(position).getGoods_name());                ((Two) holder).tv2.setText(list.get(position).getIntegral());                Picasso.with(context).load(list.get(position).getImg()).into(((Two) holder).iv2);                break;            case 1:                One holderOne = (One) holder;                ((One) holder).name1.setText(list.get(position).getGoods_name());                ((One) holder).tv1.setText(list.get(position).getLikes());                Picasso.with(context).load(list.get(position).getImg()).into(((One) holder).iv1);                break;        }    }    @Override    public int getItemCount() {        return list.size();    }    public class One extends RecyclerView.ViewHolder {        private final ImageView iv1;        private final TextView tv1;        private final TextView name1;        public One(View itemView) {            super(itemView);            iv1 = (ImageView) itemView.findViewById(R.id.iv1);            tv1 = (TextView) itemView.findViewById(R.id.tv1);            name1 = (TextView) itemView.findViewById(R.id.name1);        }    }    public class Two extends RecyclerView.ViewHolder {        private final TextView tv2;        private final ImageView iv2;        private final TextView name2;        public Two(View itemView) {            super(itemView);            tv2 = (TextView) itemView.findViewById(R.id.tv2);            iv2 = (ImageView) itemView.findViewById(R.id.iv2);            name2 = (TextView) itemView.findViewById(R.id.name2);        }    }}
原创粉丝点击