CartssHIPEIQI

本文介绍了一种购物车功能的实现方式,通过自定义的CartAdapter类来管理购物车的商品列表,支持商品的选择和数量变化,并实现了与UI的联动更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.example.app.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;

import com.example.app.R;
import com.example.app.callback.CartCallback;
import com.example.app.callback.CartUICallback;
import com.example.app.entity.CartBean;
import com.jcodecraeer.xrecyclerview.XRecyclerView;

import java.util.List;

public class CartAdapter extends XRecyclerView.Adapter<CartAdapter.MyVh> implements CartCallback {

private Context context;
private List<CartBean.Cart> carts;

//通知首页的接口
private CartUICallback cartUICallback;

/**
 * 初始化首页接口  对外暴露
 */
public void setCartCallback(CartUICallback cartCallback) {
    this.cartUICallback = cartCallback;
}

public CartAdapter(Context context, List<CartBean.Cart> carts) {
    this.context = context;
    this.carts = carts;
}

public List<CartBean.Cart> getCarts() {
    return carts;
}

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

@Override
public void onBindViewHolder(@NonNull final CartAdapter.MyVh myVh, int i) {
    final CartBean.Cart cart = carts.get(i);
    myVh.nameTv.setText(cart.sellerName);
    myVh.checkBox.setChecked(cart.isChecked);
    //对每件商品的索引赋值  记录一级列表的位置索引
    for (CartBean.Cart.Product product : cart.list) {
        product.pos = i;
    }
    //二级列表
    ProductAdapter productAdapter = new ProductAdapter(context, cart.list);
    productAdapter.setCartCallback(this);//设置二级列表适配器会调接口
    myVh.xRecyclerView.setLayoutManager(new LinearLayoutManager(context));
    myVh.xRecyclerView.setAdapter(productAdapter);
    myVh.checkBox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            cart.isChecked = myVh.checkBox.isChecked();//设置一级对象的选中状态
            //设置二级对象的选中状态
            for (CartBean.Cart.Product product : cart.list) {
                product.isProductisChecked = cart.isChecked;
            }
            //通知刷新
            notifyDataSetChanged();
            //选中状态改变后,通知首页价格联动
            if (cartUICallback != null) {
                cartUICallback.notifyCart();
            }
        }
    });
}

@Override
public int getItemCount() {
    return carts == null ? 0 : carts.size();
}


@Override
public void notifyCartItem(boolean isChecked, int position) {

    //设置一级列表的选中状态
    carts.get(position).isChecked = isChecked;
    notifyDataSetChanged();

    //选中状态后,通知主页联动价格
    if (cartUICallback != null) {
        cartUICallback.notifyCart();
    }
}

/**
 * 数量改变后,通知首页价格联动
 */
@Override
public void notifyNum() {
    if (cartUICallback != null) {
        cartUICallback.notifyCart();
    }
}

/**
 * 加载新的数据 并刷新适配器
 */
public void addData(List<CartBean.Cart> list) {

    if (list != null && carts != null) {
        carts.addAll(list);
        notifyDataSetChanged();
    }
}

public class MyVh extends RecyclerView.ViewHolder {

    private final XRecyclerView xRecyclerView;
    private final CheckBox checkBox;
    private final TextView nameTv;

    public MyVh(@NonNull View itemView) {
        super(itemView);
        xRecyclerView = itemView.findViewById(R.id.rv);
        checkBox = itemView.findViewById(R.id.checkbox);
        nameTv = itemView.findViewById(R.id.name);
    }
}

}

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值