商品购物车 商品 适配器

public class GoodAdapter extends RecyclerView.Adapter {
    private Context context;
    private List list;
    private int parentPosition=-1;

    public GoodAdapter(Context context, List list, int parentPosition) {
        this.context = context;
        this.list = list;
        this.parentPosition = parentPosition;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View inflate = LayoutInflater.from(context).inflate(R.layout.goods_list, viewGroup, false);
        return new ViewHolder(inflate);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
        Glide.with(context).load(list.get(i).getPic_url()).into(viewHolder.goods_image);
        viewHolder.goods_check.setChecked(list.get(i).isChecked());
        viewHolder.goods_name.setText(list.get(i).getName());
        viewHolder.goods_price.setText(list.get(i).getId()+"");
        viewHolder.btnSubAndAdd.setNum(list.get(i).getPraise_num());

    }

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

    public class ViewHolder extends RecyclerView.ViewHolder {

        private final CheckBox goods_check;
        private final ImageView goods_image;
        private final TextView goods_name,goods_price;
        private final SubAddButton btnSubAndAdd;
        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            goods_check = itemView.findViewById(R.id.goods_check);
            goods_image = itemView.findViewById(R.id.goods_image);
            goods_name = itemView.findViewById(R.id.goods_name);
            goods_price = itemView.findViewById(R.id.goods_price);
            btnSubAndAdd = itemView.findViewById(R.id.btnSubAndAdd);
          btnSubAndAdd.setNumChangedListener(new SubAddButton.OnNumChangedListener() {
                @Override
                public void onNumChanged(int old, int newNub) {
                    int adapterPosition = getAdapterPosition();
                    EventBus.getDefault().post(new CaculateEvent(parentPosition,adapterPosition,newNub));
                }
            });
            goods_check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    EventBus.getDefault().post(new SingleEvent(isChecked,parentPosition,getAdapterPosition()));
                }
            });
        }
    }
}
public class ShopCarAdapter extends RecyclerView.Adapter {
    private ShopBean shopBean;
    private Context context;
    private List spus;
    private ShopCarAdapter shopCarAdapter;

    public ShopCarAdapter(ShopBean shopBean, Context context) {
        this.shopBean = shopBean;
        this.context = context;
    }

    @NonNull
    @Override
    public XRecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(context).inflate(R.layout.car_item, viewGroup, false);
        return new ShopCarHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull XRecyclerView.ViewHolder viewHolder, int i) {
        shopCarAdapter = new ShopCarAdapter(shopBean, context);
        ShopCarHolder shopCarHolder= (ShopCarHolder) viewHolder;
     shopCarHolder.car_name.setText(shopBean.getData().get(i).getName());
     shopCarHolder.car_check.setChecked(shopBean.getData().get(i).isChecked());

        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
        linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        shopCarHolder.car_recy.setLayoutManager(linearLayoutManager);
        spus = shopBean.getData().get(i).getSpus();

        shopCarHolder.car_recy.setAdapter(new GoodAdapter(context,spus,i));
    }

    @Override
    public int getItemCount() {
        return shopBean.getData().size();
    }
    class ShopCarHolder extends RecyclerView.ViewHolder {

        private final CheckBox car_check;
        private final TextView car_name;
        private final RecyclerView car_recy;


        public ShopCarHolder(@NonNull View itemView) {
            super(itemView);
            car_check = itemView.findViewById(R.id.car_check);
            car_name = itemView.findViewById(R.id.car_name);
            car_recy = itemView.findViewById(R.id.car_recy);
            car_check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                    EventBus.getDefault().post(new GroupEvent(getAdapterPosition(),isChecked));
                }
            });
        }
    }

你可能感兴趣的:(商品购物车 商品 适配器)