一:计算购物车的总价(总价的全选和全不选控制价格)
--------------------------布局----------------------------------
<CheckBox
android:id="@+id/sum_price"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="¥:0.0"
/>
1,创建一个方法,用来计算总价钱。
/**
* 计算总价
*/
private List<CartBean.DataBean> data;
public void getTotalPrice(){
double totalprice = 0;
for(CartBean.DataBean datas : data){
for(CartBean.DataBean.ListBean list : datas.list){
if(list.isProjectChecked){
totalprice += list.price * list.projectNum;
}
}
}
sum_price.setText("$"+totalprice);
}
//总价接口
@Override
public void notifyCart() {
getTotalPrice();
}
2.给多选框设置点击监听
//点击总价监听
sum_price.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
for(CartBean.DataBean data : data){
data.isChecked = true;
for(CartBean.DataBean.ListBean list : data.list){
list.isProjectChecked = true;
}
}
}else{
for(CartBean.DataBean data : data){
data.isChecked = false;
for(CartBean.DataBean.ListBean list : data.list){
list.isProjectChecked = false;
}
}
}
xrcvAdapter.notifyDataSetChanged();//刷新适配器
getTotalPrice();//调用上面定义的总价方法
}
});
二,实现商家选中和不选中计算总价
//【商家选中监听】
xrcvVH.checkbox_sj.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dataBean.isChecked = xrcvVH.checkbox_sj.isChecked();
for(CartBean.DataBean.ListBean list : dataBean.list){
list.isProjectChecked = dataBean.isChecked;//一级列表选中同步二级列表选中
}
notifyDataSetCh