RecyclerView 多条目加载

public class Mysearch_Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

//注意是<RecyclerView.ViewHolder>
    Context context;
    List<search_bean.DatasBean.GoodsListBean> list_goods;
    public Mysearch_Adapter(Context context, List<search_bean.DatasBean.GoodsListBean> list_goods) {
        this.context=context;
        this.list_goods=list_goods;
    }

//判断
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if(viewType==0){
            View view= LayoutInflater.from(context).inflate(R.layout.item_goods,parent,false);
            return new MySearch_viewHolder(view);
        }else if(viewType==1){
            View view2= LayoutInflater.from(context).inflate(R.layout.item_goods2,parent,false);
            return new MySearch_viewHolder2(view2);
        }
        return null;

    }

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

    @Override
    public int getItemViewType(int position) {
        if(position%2==0){
            return 0;
        }else {
            return 1;
        }

    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        int type = getItemViewType(position);
        if(type==0){
            MySearch_viewHolder mv=new MySearch_viewHolder(holder.itemView);
            search_bean.DatasBean.GoodsListBean sb= list_goods.get(position);
            mv.tv_name.setText(sb.getGoods_name());
            mv.tv_name2.setText(sb.getGoods_jingle());
            mv.tv_priceNow.setText(""+sb.getGoods_price());
            mv.tv_priceOld.setText(""+sb.getGoods_marketprice());
            mv.tv_storename.setText(sb.getStore_name());
            mv.tv_priceOld.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
            Picasso.with(mv.img.getContext()).load(sb.getGoods_image_url()).into(mv.img);
        } if (type==1){
            MySearch_viewHolder2 mv2=new MySearch_viewHolder2(holder.itemView);
            search_bean.DatasBean.GoodsListBean sb= list_goods.get(position);
            mv2.tv_name2.setText(sb.getGoods_name());
            mv2.tv_name22.setText(sb.getGoods_jingle());
            mv2.tv_priceNow2.setText(""+sb.getGoods_price());
            mv2.tv_priceOld2.setText(""+sb.getGoods_marketprice());
            mv2.tv_storename2.setText(sb.getStore_name());
            mv2.tv_priceOld2.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
            Picasso.with(mv2.img2.getContext()).load(sb.getGoods_image_url()).into(mv2.img2);
        }


    }

    public class MySearch_viewHolder extends RecyclerView.ViewHolder{

        TextView tv_name,tv_name2,tv_priceNow,tv_priceOld,tv_storename;
        ImageView img;
        public MySearch_viewHolder(View itemView) {
            super(itemView);
            tv_name=itemView.findViewById(R.id.goods_name);
            tv_name2=itemView.findViewById(R.id.goods_jingle);
            tv_priceNow=itemView.findViewById(R.id.goods_price);
            tv_priceOld=itemView.findViewById(R.id.goods_marketprice);
            tv_storename=itemView.findViewById(R.id.goods_storename);
            img=itemView.findViewById(R.id.goods_img);

        }
    }

    public class MySearch_viewHolder2 extends RecyclerView.ViewHolder{

        TextView tv_name2,tv_name22,tv_priceNow2,tv_priceOld2,tv_storename2;
        ImageView img2;
        public MySearch_viewHolder2(View itemView) {
            super(itemView);
            tv_name2=itemView.findViewById(R.id.goods_name2);
            tv_name22=itemView.findViewById(R.id.goods_jingle2);
            tv_priceNow2=itemView.findViewById(R.id.goods_price2);
            tv_priceOld2=itemView.findViewById(R.id.goods_marketprice2);
            tv_storename2=itemView.findViewById(R.id.goods_storename2);
            img2=itemView.findViewById(R.id.goods_img2);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值