购物车全选反选,总价,结算

public class Fragment_three extends BaseFragment implements Cotract.View {

private String url = "small/order/verify/v1/findShoppingCart";
private SelectPresenter selectPresenter;
private RecyclerView recyclerView;
private CheckBox quanxuan;
private TextView all_Price,sum_price_txt;
private List<SelectCardBean.Result> result;
private SelectCardBean selectCardBean;

@Override
protected int setView() {
    return R.layout.fragment_three;

}

@Override
protected void initView(View view) {

    recyclerView = view.findViewById(R.id.recycleview);
    quanxuan = view.findViewById(R.id.quanxuan);
    all_Price = view.findViewById(R.id.all_price);
    sum_price_txt = view.findViewById(R.id.sum_price_txt);

    selectPresenter = new SelectPresenter();
    selectPresenter.attch(this);
    selectPresenter.getShowModel(url);
    //布局管理器
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
    linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    recyclerView.setLayoutManager(linearLayoutManager);
}

@Override
protected void initData() {

}


@Override
public void getpresenter(String data) {
    Gson gson = new Gson();
    selectCardBean = gson.fromJson(data, SelectCardBean.class);
    result = selectCardBean.getResult();
    final MySelectAdapter mySelectCardAdapter = new MySelectAdapter(result,getActivity());
    recyclerView.setAdapter(mySelectCardAdapter);

    //适配器点击事件
    mySelectCardAdapter.setListener(new MySelectAdapter.ShopCallBackListener() {
        @Override
        public void callBack(List<SelectCardBean.Result> list) {
            //定义总价
            double totalPrice = 0;
            //定义勾选商品的数量
            int num = 0;
            //定义所有商品的数量,如果相等就全选
            int totalNum = 0;
            for (int i = 0; i < list.size(); i++) {
                //商品数量
                int count = list.get(i).getCount();
                totalNum = totalNum + count;
                //判断是否选中
                if (list.get(i).ischeck){
                    //商品价格
                    String price = list.get(i).getPrice();
                    Double price1 = Double.valueOf(price);

                    num = num + list.get(i).getCount();
                    //总价
                    totalPrice = totalPrice + price1*num;
                }
            }
            if (num<totalNum){
                //不是全部选中
                quanxuan.setChecked(false);
            }else{
                quanxuan.setChecked(true);
            }
            all_Price.setText("合计:" + totalPrice);
            sum_price_txt.setText("去结算(" + num + ")");
        }
    });

    quanxuan.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            SelectCheck(quanxuan.isChecked());
            mySelectCardAdapter.notifyDataSetChanged();
        }
    });
}

private void SelectCheck(boolean checked) {
    double totalPrice = 0;
    //定义勾选商品的数量
    int num = 0;
    //定义所有商品的数量,如果相等就全选
    int totalNum = 0;
    for (int i = 0; i < result.size(); i++) {
        result.get(i).setIscheck(checked);
        //判断是否选中
        if (checked){
            //商品数量
            int count = result.get(i).getCount();
            totalNum = totalNum + count;
            //商品价格
            String price = result.get(i).getPrice();
            Double price1 = Double.valueOf(price);
            //总价
            totalPrice = totalPrice + price1*count;
        }
    }
    if (checked){
        all_Price.setText("合计:" + totalPrice);
        sum_price_txt.setText("去结算(" + totalNum + ")");
    }else{
        all_Price.setText("合计:" + 0);
        sum_price_txt.setText("去结算(" + 0 + ")");
    }


}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值