参考

@Override
public void jisuan() {
    double he=0;
    int count = 0;
    for (int i = 0; i <data.size() ; i++) {
        List<Cart_bean.DataBean.ListBean> list = data.get(i).getList();
        for (int j = 0; j <list.size(); j++) {
            if (list.get(j).isChildflog()){
                //获取价格
                double price1 = list.get(j).getPrice();
                //获取数量
                double selected = list.get(j).getSelected();
                //selected+1  必须加1
                double mul = mul(price1, selected+1);
                he= add(he, mul);
                count+= (int) selected+1;

            }
        }
    }
    cart_count.setText(count+"");
    cart_priceAll.setText(he+"");

}
 

//适配器


public class CartAdapter extends BaseExpandableListAdapter {
    private List<Cart_bean.DataBean> data;
    private Context context;
    private Icart icart;

    public CartAdapter(List<Cart_bean.DataBean> data, Context context,Icart icart) {
        this.data = data;
        this.context = context;
        this.icart = icart;
    }

    @Override
    public int getGroupCount() {
        return data.size();
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return data.get(groupPosition).getList().size();
    }

    @Override
    public Object getGroup(int groupPosition) {
        return data.get(groupPosition);
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        return data.get(groupPosition).getList().get(childPosition);
    }

    @Override
    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        return childPosition;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
        Myprenterhodler myprenterhodler=null;
        if (convertView==null){
            convertView= View.inflate(context, R.layout.cart_groupitem, null);
            CheckBox prenter_cb = convertView.findViewById(R.id.group_box);
            TextView  present_tv = convertView.findViewById(R.id.group_name);
             myprenterhodler=new Myprenterhodler(prenter_cb,present_tv);
            convertView.setTag(myprenterhodler);
        }else {
            myprenterhodler = (Myprenterhodler) convertView.getTag();
        }
        myprenterhodler.present_tv.setText(data.get(groupPosition).getSellerName());
        myprenterhodler.prenter_cb.setChecked(data.get(groupPosition).isFrentflog());

        myprenterhodler.prenter_cb.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                boolean isCleked = data.get(groupPosition).isFrentflog();
                isCleked=!isCleked;
                data.get(groupPosition).setFrentflog(isCleked);
                List<Cart_bean.DataBean.ListBean> list = data.get(groupPosition).getList();
                for (int i = 0; i < list.size() ; i++) {
                    list.get(i).setChildflog(isCleked);
                }
                icart.jisuan();
                notifyDataSetChanged();
            }
        });

        return convertView;
    }

    @Override
    public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
        ChildViewHolder childViewHolder=null;
        if (convertView==null){
            convertView = View.inflate(context, R.layout.cart_childitem, null);
            CheckBox child_box = convertView.findViewById(R.id.child_box);
            ImageView child_img= convertView.findViewById(R.id.child_img);
            TextView child_subhead= convertView.findViewById(R.id.child_subhead);
            TextView child_price = convertView.findViewById(R.id.child_price);
            AddDeleteView child_adv = convertView.findViewById(R.id.child_adv);
            childViewHolder=new ChildViewHolder(child_box,child_img,child_subhead,child_price,child_adv);
            convertView.setTag(childViewHolder);
        }else {
            childViewHolder= (ChildViewHolder) convertView.getTag();
        }
         childViewHolder.child_box.setChecked(data.get(groupPosition).getList().get(childPosition).isChildflog());
        String images = data.get(groupPosition).getList().get(childPosition).getImages();
        String[] split = images.split(".jpg");
        childViewHolder.child_img.setImageURI(Uri.parse(split[0]+".jpg"));
       childViewHolder.child_price.setText(data.get(groupPosition).getList().get(childPosition).getPrice()+"");
       childViewHolder.child_subhead.setText(data.get(groupPosition).getList().get(childPosition).getTitle());

        childViewHolder.child_box.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               boolean isCleked = data.get(groupPosition).getList().get(childPosition).isChildflog();
               isCleked=!isCleked;
               data.get(groupPosition).getList().get(childPosition).setChildflog(isCleked);
               List<Cart_bean.DataBean.ListBean> beans = data.get(groupPosition).getList();
               boolean flag=true;
               for (int i = 0; i < beans.size() ; i++) {
                   if (!beans.get(i).isChildflog()) {
                       flag=false;
                   }
               }
               data.get(groupPosition).setFrentflog(flag);
               //调用v层的计算的方法
               icart.jisuan();
               notifyDataSetChanged();
           }
       });

        childViewHolder.child_adv.setNumberlistener(new AddDeleteView.NumberLisner() {
            @Override
            public void callBack(int couint) {
                data.get(groupPosition).getList().get(childPosition).setSelected(couint-1);
                icart.jisuan();
                notifyDataSetChanged();
            }
        });


        return convertView;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return false;
    }

    class ChildViewHolder{
        public CheckBox child_box;
        public ImageView child_img;
        public TextView child_subhead;
        public TextView child_price;
        public AddDeleteView child_adv;

        public ChildViewHolder(CheckBox child_box, ImageView child_img, TextView child_subhead, TextView child_price, AddDeleteView child_adv) {
            this.child_box = child_box;
            this.child_img = child_img;
            this.child_subhead = child_subhead;
            this.child_price = child_price;
            this.child_adv = child_adv;
        }
    }

    class Myprenterhodler{
        public CheckBox prenter_cb;
        public TextView present_tv;


        public Myprenterhodler(CheckBox prenter_cb, TextView present_tv) {
            this.prenter_cb = prenter_cb;
            this.present_tv = present_tv;

        }
    }
 

//全选


cart_checkBox.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        for (int i = 0; i <data.size() ; i++) {
            data.get(i).setFrentflog(!data.get(i).isFrentflog());
            List<Cart_bean.DataBean.ListBean> list = data.get(i).getList();
            for (int j = 0; j <list.size() ; j++) {
                list.get(j).setChildflog(!list.get(j).isChildflog());
            }
        }
        jisuan();
        cartAdapter.notifyDataSetChanged();
    }
});



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值