public class Fragment_three extends BaseFragment implements Cotract.View {
private String url = "small/order/verify/v1/findShoppingCart";
private SelectPresenter selectPresenter;
private RecyclerView recyclerView;
private CheckBox quanxuan;
private TextView all_Price,sum_price_txt;
private List<SelectCardBean.Result> result;
private SelectCardBean selectCardBean;
@Override
protected int setView() {
return R.layout.fragment_three;
}
@Override
protected void initView(View view) {
recyclerView = view.findViewById(R.id.recycleview);
quanxuan = view.findViewById(R.id.quanxuan);
all_Price = view.findViewById(R.id.all_price);
sum_price_txt = view.findViewById(R.id.sum_price_txt);
selectPresenter = new SelectPresenter();
selectPresenter.attch(this);
selectPresenter.getShowModel(url);
//布局管理器
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
}
@Override
protected void initData() {
}
@Override
public void getpresenter(String data) {
Gson gson = new Gson();
selectCardBean = gson.fromJson(data, SelectCardBean.class);
result = selectCardBean.getResult();
final MySelectAdapter mySelectCardAdapter = new MySelectAdapter(result,getActivity());
recyclerView.setAdapter(mySelectCardAdapter);
//适配器点击事件
mySelectCardAdapter.setListener(new MySelectAdapter.ShopCallBackListener() {
@Override
public void callBack(List<SelectCardBean.Result> list) {
//定义总价
double totalPrice = 0;
//定义勾选商品的数量
int num = 0;
//定义所有商品的数量,如果相等就全选
int totalNum = 0;
for (int i = 0; i < list.size(); i++) {
//商品数量
int count = list.get(i).getCount();
totalNum = totalNum + count;
//判断是否选中
if (list.get(i).ischeck){
//商品价格
String price = list.get(i).getPrice();
Double price1 = Double.valueOf(price);
num = num + list.get(i).getCount();
//总价
totalPrice = totalPrice + price1*num;
}
}
if (num<totalNum){
//不是全部选中
quanxuan.setChecked(false);
}else{
quanxuan.setChecked(true);
}
all_Price.setText("合计:" + totalPrice);
sum_price_txt.setText("去结算(" + num + ")");
}
});
quanxuan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SelectCheck(quanxuan.isChecked());
mySelectCardAdapter.notifyDataSetChanged();
}
});
}
private void SelectCheck(boolean checked) {
double totalPrice = 0;
//定义勾选商品的数量
int num = 0;
//定义所有商品的数量,如果相等就全选
int totalNum = 0;
for (int i = 0; i < result.size(); i++) {
result.get(i).setIscheck(checked);
//判断是否选中
if (checked){
//商品数量
int count = result.get(i).getCount();
totalNum = totalNum + count;
//商品价格
String price = result.get(i).getPrice();
Double price1 = Double.valueOf(price);
//总价
totalPrice = totalPrice + price1*count;
}
}
if (checked){
all_Price.setText("合计:" + totalPrice);
sum_price_txt.setText("去结算(" + totalNum + ")");
}else{
all_Price.setText("合计:" + 0);
sum_price_txt.setText("去结算(" + 0 + ")");
}
}
}