//主
viewHolderOne.one_check.setChecked(shopBean.check);
//使用一下
viewHolderOne.one_check.setTag(shopBean);
//选中
viewHolderOne.one_check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ShopBean s = (ShopBean) v.getTag();
s.check = ((CheckBox) v).isChecked();
//选中父控件把子控件全部选中
if (s.check) {
for (int i = 0; i < shopBean.shoppingCartList.size(); i++) {
GoodsBean goodsBean = shopBean.shoppingCartList.get(i);
goodsBean.check = s.check;
}
} else if (!s.check) {//全不选
for (int i = 0; i < shopBean.shoppingCartList.size(); i++) {
GoodsBean goodsBean = shopBean.shoppingCartList.get(i);
goodsBean.check = s.check;
}
}
jisuangPrice();
chlidAll();
notifyDataSetChanged();
}
});
//子
viewHolderTwo.two_check.setChecked(goodsBean.check);
//使用一下
viewHolderTwo.two_check.setTag(goodsBean);
//选中
viewHolderTwo.two_check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
GoodsBean g = (GoodsBean) v.getTag();
CheckBox checkBox = (CheckBox) v;
g.check = checkBox.isChecked();
if (checkBox.isChecked()) {
a++;
} else {
a--;
}
if (a >= shoplist.get(groupPosition).shoppingCartList.size()) {
shoplist.get(groupPosition).check = true;
} else {
shoplist.get(groupPosition).check = false;
}
jisuangPrice();
chlidAll();
notifyDataSetChanged();
}
});
//联动全选
public void chlidAll() {
double num = 0;
boolean isChlikedAll = false;
for (int i = 0; i < shoplist.size(); i++) {
ShopBean shopBean = shoplist.get(i);
for (int j = 0; j < shopBean.shoppingCartList.size(); j++) {
GoodsBean goodsBean = shopBean.shoppingCartList.get(i);
if (goodsBean.check) {
isChlikedAll = true;
} else {
isChlikedAll = false;
}
}
}
dataCall.isCheckedAll(isChlikedAll, num);
}
//计算价格方法
public void jisuangPrice() {
int sum = 0;
int num = 0;
for (int i = 0; i < shoplist.size(); i++) {
ShopBean shopBean = shoplist.get(i);
//为了联动,先给父控件为true && 一个为true 他就是true 一个false 都是 false
shopBean.check = true;
for (int j = 0; j < shopBean.shoppingCartList.size(); j++) {
GoodsBean goodsBean = (GoodsBean) shopBean.shoppingCartList.get(j);
//&& 一个为true 他就是true 一个false 都是 false
shopBean.check = shopBean.check && goodsBean.check;//下边联动上边 取消点击一个子控件 父控件也取消
if (goodsBean.check) {//如果选中计算
sum = sum + goodsBean.count * goodsBean.price;
//去结算
num += goodsBean.count;
}
}
//回调接口传值
if (priceListene != null) {
priceListene.getHttpData(sum, num);
}
}
}
//加减
@Override
public void onClick(View v) {
int sum = 0;
int num = 0;
GoodsBean goodsBean = (GoodsBean) v.getTag();
if (v.getId() == R.id.two_jia) {//当它加的时候
sum = sum + goodsBean.count * goodsBean.price;
goodsBean.count++;
num += goodsBean.count;
} else if (v.getId() == R.id.two_jian) {//减
if (goodsBean.count > 1) {
sum = sum + goodsBean.count * goodsBean.price;
goodsBean.count--;
num += goodsBean.count;
}
}
if (JiaListene != null) {
JiaListene.getData(sum, num);
}
//千万不要忘刷新
notifyDataSetChanged();
}
//成功失败
//greenrodao
private List<GoodsBean> list=new ArrayList<>();
@Override
public void suesscc(Object o) {
Result<List<ShopBean>> result = (Result<List<ShopBean>>) o;
GoodsBeanDao goodsBeanDao = DaoMaster.newDevSession(MainActivity.this, GoodsBeanDao.TABLENAME).getGoodsBeanDao();
for (int i = 0; i < result.result.size(); i++) {
for (int j = 0; j <result.result.get(i).shoppingCartList.size() ; j++) {
GoodsBean goodsBean = result.result.get(i).shoppingCartList.get(j);
goodsBeanDao.insertOrReplaceInTx(goodsBean);
}
}
myShowAdapter.addAll(result.result);
//展开所有父控件自爱的子条目
for (int i = 0; i < result.result.size(); i++) {
e_listView.expandGroup(i);
}
myShowAdapter.setDataCall(new MyShowAdapter.DataCall() {
@Override
public void isCheckedAll(boolean isChecked, double num) {
xuan.setChecked(isChecked);
myShowAdapter.notifyDataSetChanged();
}
});
myShowAdapter.notifyDataSetChanged();
}
@Override
public void finl(Result result) {
Toast.makeText(MainActivity.this, result.message + “”, Toast.LENGTH_SHORT).show();
}