购物车商家的适配器和商品的适配器

本文探讨了在购物车系统中如何通过适配器模式来实现商家接口与商品接口的兼容,确保不同来源的商家数据和商品信息能够无缝对接,提升用户体验。
摘要由CSDN通过智能技术生成

商家的适配器

public class BuyAdapter extends RecyclerView.Adapter<BuyAdapter.BuyViewHolder> {


    Context context;
    List<GouBuyBean.DataBean> listbeans;
    private List<GouBuyBean.DataBean.ListBean> list;


    public BuyAdapter(Context context, List<GouBuyBean.DataBean> listbeans) {
        this.context = context;
        this.listbeans = listbeans;
    }

    public void shuaxin(){
        notifyDataSetChanged();
    }

    private SJSelect sjSelect;

    public void setSjSelected(SJSelect sjSelect) {
        this.sjSelect = sjSelect;
    }

    public interface SJSelect{
        void sjselect();
    }

    private Addjianlistenter addjianlistenter;

    public void setAddjianlistenter(Addjianlistenter addjianlistenter) {
        this.addjianlistenter = addjianlistenter;
    }

    public interface Addjianlistenter{
        void addjianlistenter();
    }

    @NonNull
    @Override
    public BuyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

        View view = LayoutInflater.from(context).inflate(R.layout.buy_layout, viewGroup, false);
        BuyViewHolder buyViewHolder = new BuyViewHolder(view);
        return buyViewHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull final BuyViewHolder buyViewHolder, final int i) {

        buyViewHolder.text_buy_name.setText(listbeans.get(i).getSellerName());
        list = new ArrayList<>();
        list.addAll(listbeans.get(i).getList());
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false);
        BuyitemAdapter buyitemAdapter = new BuyitemAdapter(context,list);
        buyViewHolder.recyc_buy_item.setLayoutManager(linearLayoutManager);
        buyViewHolder.recyc_buy_item.setAdapter(buyitemAdapter);
        buyViewHolder.recyc_buy_item.setNestedScrollingEnabled(false);

        buyViewHolder.checkbox_buy.setChecked(listbeans.get(i).isSelect());
        buyViewHolder.checkbox_buy.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                listbeans.get(i).setSelect(buyViewHolder.checkbox_buy.isChecked());
                for (GouBuyBean.DataBean.ListBean listBean:listbeans.get(i).getList()) {
                    if(buyViewHolder.checkbox_buy.isChecked()){
                        listBean.setSelected(1);
                    }else{
                        listBean.setSelected(0);
                    }
                }
                sjSelect.sjselect();
                shuaxin();
            }
        });

        buyitemAdapter.setSpSelected(new BuyitemAdapter.SPSelected(){
            @Override
            public void selected(){
                boolean bs = true;
                for(GouBuyBean.DataBean.ListBean listBean:listbeans.get(i).getList()){
                    if(listBean.getSelected() == 0) {
                        bs = false;
                    }
                }
                listbeans.get(i).setSelect(bs);
                sjSelect.sjselect();
                shuaxin();
            }
        });

        buyitemAdapter.setAddjianselected(new BuyitemAdapter.addjianselected() {
            @Override
            public void addjianselect() {
                addjianlistenter.addjianlistenter();
            }
        });

    }

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

    class BuyViewHolder extends RecyclerView.ViewHolder{

        private final CheckBox checkbox_buy;
        private final TextView text_buy_name;
        private final RecyclerView recyc_buy_item;

        public BuyViewHolder(@NonNull View itemView) {
            super(itemView);
            checkbox_buy = itemView.findViewById(R.id.checkbox_buy);
            text_buy_name = itemView.findViewById(R.id.text_buy_name);
            recyc_buy_item = itemView.findViewById(R.id.recyc_buy_item);
        }
    }


}

商品的适配器

 

public class BuyitemAdapter extends RecyclerView.Adapter<BuyitemAdapter.BuyItemViewHolder> {

    Context context;
    List<GouBuyBean.DataBean.ListBean> list;

    public BuyitemAdapter(Context context, List<GouBuyBean.DataBean.ListBean> list) {
        this.context = context;
        this.list = list;
    }


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

    //刷新
    public void shuaxin(){
        notifyDataSetChanged();
    }

    private SPSelected spSelected;

    public interface SPSelected{
        void selected();
    }

    public void setSpSelected(SPSelected spSelected) {
        this.spSelected = spSelected;
    }

    private addjianselected addjianselected;

    public void setAddjianselected(BuyitemAdapter.addjianselected addjianselected) {
        this.addjianselected = addjianselected;
    }
    public interface addjianselected{
        void addjianselect();
    }


    @Override
    public void onBindViewHolder(@NonNull final BuyItemViewHolder buyItemViewHolder, final int i) {


        if(list.get(i).getSelected() == 0){
            buyItemViewHolder.check_box_item.setChecked(false);
        }else{
            buyItemViewHolder.check_box_item.setChecked(true);
        }
        buyItemViewHolder.check_box_item.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                boolean checked =  buyItemViewHolder.check_box_item.isChecked();
                if(checked){
                    list.get(i).setSelected(1);
                }else{
                    list.get(i).setSelected(0);
                }
                spSelected.selected();
            }
        });

        buyItemViewHolder.text_buy_title.setText(list.get(i).getTitle());
        buyItemViewHolder.add_reduce.setText(list.get(i).getNum());
        String images = list.get(i).getImages();
        if(images.contains("|")){
            images = images.substring(0,images.indexOf("|"));
            buyItemViewHolder.sim_buy_item.setImageURI(Uri.parse(images));
        }else{
            buyItemViewHolder.sim_buy_item.setImageURI(Uri.parse(images));
        }
        buyItemViewHolder.text_buy_price.setText(list.get(i).getPrice()*list.get(i).getNum()+"");
        buyItemViewHolder.add_reduce.setText(list.get(i).getNum());
        //加
        buyItemViewHolder.add_reduce.setAdd_nums(new AddReduce.Add_Nums() {
            @Override
            public void add(int add) {
                list.get(i).setNum(add);
                addjianselected.addjianselect();
                shuaxin();

            }
        });

        //减
        buyItemViewHolder.add_reduce.setJian_num(new AddReduce.Jian_Num() {
            @Override
            public void jian(int add) {
                list.get(i).setNum(add);
                addjianselected.addjianselect();
                shuaxin();
            }
        });


    }

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

    class BuyItemViewHolder extends RecyclerView.ViewHolder{

        private final CheckBox check_box_item;
        private final SimpleDraweeView sim_buy_item;
        private final TextView text_buy_price;
        private final TextView text_buy_title;
        private final AddReduce add_reduce;

        public BuyItemViewHolder(@NonNull View itemView) {
            super(itemView);
            check_box_item = itemView.findViewById(R.id.check_box_item);
            sim_buy_item = itemView.findViewById(R.id.sim_buy_item);
            text_buy_price = itemView.findViewById(R.id.text_buy_price);
            text_buy_title = itemView.findViewById(R.id.text_buy_title);
            add_reduce = itemView.findViewById(R.id.add_reduce);
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过融合先进技术,如物联网、大数据、人工智能等,实现校园的智能化管理与服务。政策的推动和技术的成熟为智慧校园的发展提供了基础。该方案强调了数据的重要性,提出通过数据的整合、开放和共享,构建产学研资用联动的服务体系,以促进校园的精细化治理。 智慧校园的核心建设任务包括数据标准体系和应用标准体系的建设,以及信息化安全与等级保护的实施。方案提出了一站式服务大厅和移动校园的概念,通过整合校内外资源,实现资源共享平台和产教融合就业平台的建设。此外,校园大脑的构建是实现智慧校园的关键,它涉及到数据中心化、数据资产化和数据业务化,以数据驱动业务自动化和智能化。 技术应用方面,方案提出了物联网平台、5G网络、人工智能平台等新技术的融合应用,以打造多场景融合的智慧校园大脑。这包括智慧教室、智慧实验室、智慧图书馆、智慧党建等多领域的智能化应用,旨在提升教学、科研、管理和服务的效率和质量。 在实施层面,智慧校园建设需要统筹规划和分步实施,确保项目的可行性和有效性。方案提出了主题梳理、场景梳理和数据梳理的方法,以及现有技术支持和项目分级的考虑,以指导智慧校园的建设。 最后,智慧校园建设的成功依赖于开放、协同和融合的组织建设。通过战略咨询、分步实施、生态建设和短板补充,可以构建符合学校特色的生态链,实现智慧校园的长远发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值