recycleview多布局,不带type值,基数偶数。

来源:互联网 发布:在淘宝开童装店 编辑:程序博客网 时间:2024/05/14 07:31
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements View.OnClickListener {    // private List<MyBean.DataBean.ObjectsBean.GmallProductBean> list;    private List<MyBean.DataBean.ObjectsBean> list;    private Context context;    private final static int ITEM_ONE = 1;    private final static int ITEM_TWO = 2;    public MyAdapter(List<MyBean.DataBean.ObjectsBean> list, Context context) {        this.list = list;        this.context = context;    }    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        LayoutInflater inflater = LayoutInflater.from(context);        View view;        RecyclerView.ViewHolder holder;        if (viewType == ITEM_ONE) {            view = inflater.inflate(R.layout.one_item, parent, false);            holder = new One(view);        } else {            view = inflater.inflate(R.layout.two_item, parent, false);            holder = new Two(view);        }        view.setOnClickListener(this);        return holder;    }    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {        MyBean.DataBean.ObjectsBean objectsBean = list.get(position);        if (holder instanceof One) {            ((One) holder).tv1.setText(objectsBean.getGmall_product().getUrl());            Picasso.with(context).load(objectsBean.getGmall_product().getPic_url()).into(((One) holder).iv1);            ((One) holder).itemView.setTag(position);        } else {            ((Two) holder).tv2.setText(objectsBean.getGmall_product().getUrl());            Picasso.with(context).load(objectsBean.getGmall_product().getPic_url()).into(((Two) holder).iv2);            ((Two) holder).itemView.setTag(position);        }    }    @Override    public int getItemCount() {        return list.size();    }    @Override    public int getItemViewType(int position) {        if (position % 2 == 0) {            return ITEM_ONE;        } else {            return ITEM_TWO;        }    }    class One extends RecyclerView.ViewHolder {        private final ImageView iv1;        private final TextView tv1;        public One(View itemView) {            super(itemView);            iv1 = (ImageView) itemView.findViewById(R.id.iv1);            tv1 = (TextView) itemView.findViewById(R.id.tv1);        }    }    class Two extends RecyclerView.ViewHolder {        private final ImageView iv2;        private final TextView tv2;        public Two(View itemView) {            super(itemView);            iv2 = (ImageView) itemView.findViewById(R.id.iv2);            tv2 = (TextView) itemView.findViewById(R.id.tv2);        }    }    public interface OnItemClick {        void setOnItem(View v, int position);    }    private OnItemClick onitem;    @Override    public void onClick(View view) {        if (onitem != null) {            onitem.setOnItem(view, (int) view.getTag());        }    }    public void setOnItemListener(OnItemClick item) {        this.onitem = item;    }}