@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(); } });