public interface YijiCallback {
void notifyCart();
}
public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.Myvh> {
private ErjiCallback erjiCallback;
public void setErjiCallback(ErjiCallback erjiCallback) {
this.erjiCallback = erjiCallback;
}
@Override
public void onBindViewHolder(@NonNull final Myvh holder, final int position) {
holder.mAddview.seted_num(list.get(position).shuliang);
holder.mCheckProduct.setChecked(list.get(position).productischecked);
holder.mAddview.setAddminusCallback(new Addview.AddminusCallback() {
@Override
public void click(int num) {
list.get(position).shuliang = num;
if (erjiCallback!=null){
erjiCallback.notifyNum();
}
}
});
holder.mCheckProduct.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!holder.mCheckProduct.isChecked()){//如果没有选中
list.get(position).productischecked=false;
if (erjiCallback!=null){
erjiCallback.notifyCartItem(false,list.get(position).pos);
}
}else {
list.get(position).productischecked=true;
for (CartBean.DataBean.ListBean listBean : list) {
if (!listBean.productischecked){
if (erjiCallback!=null){
erjiCallback.notifyCartItem(false,list.get(position).pos);
}
break;
}
if (erjiCallback!=null){
erjiCallback.notifyCartItem(true,list.get(position).pos);
}
}
}
}
});
}
public class CartBean {
public String code;
public String msg;
public List<DataBean> data;
public static class DataBean {
public String sellerName;
public List<ListBean> list;
public boolean cartischecked;
public static class ListBean {
public String images;
public int num;
public int price;
public int pscid;
public String title;
public boolean productischecked;
public int pos;//子条目全部选中 父条目也选中
public int shuliang = 1; //商品数量
}
}
}
public class AddMinus extends LinearLayout {
private void init(final Context context) {
Addview addview = (Addview) LayoutInflater.from(context).
inflate(R.layout.addandjian, this, true);
mTvJian = addview.findViewById(R.id.tv_jian);
mEditNum = addview.findViewById(R.id.edit_num);
mTvJia = addview.findViewById(R.id.tv_jia);
mTvJian.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
num--;
if (num==0){
num=1;
Toast.makeText(context, "不能再减了", Toast.LENGTH_SHORT).show();
}
mEditNum.setText(num+"");
if (addminusCallback!=null){
addminusCallback.click(num);
}
}
});
mTvJia.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
num++;
mEditNum.setText(num+"");
if (addminusCallback!=null){
addminusCallback.click(num);
}
}
});
}
public void seted_num(int num){
mEditNum.setText(num+"");
}
private AddminusCallback addminusCallback;
public void setAddminusCallback(AddminusCallback addminusCallback) {
this.addminusCallback = addminusCallback;
}
public interface AddminusCallback{
void click(int num);
}
}