@Override
public void initData() {
super.initData();
// 获取公共参数
config = context.getSharedPreferences(“config”, 0);
token = config.getString(“token”, “”);
uid = config.getString(“uid”, “”);
// 获取展示商品的控件
RecyclerView shop_car_RecyclerView = get(R.id.shop_car_RecyclerView);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
shop_car_RecyclerView.setLayoutManager(linearLayoutManager);
shopCarAdadpter = new ShopCarAdadpter(context);
shop_car_RecyclerView.setAdapter(shopCarAdadpter);
//获取 控件
shop_car_Qselect = (ImageView) get(R.id.shop_car_Qselect);
shop_car_Total_price = (TextView) get(R.id.shop_car_Total_price);// 总价
shop_car_Total = (TextView) get(R.id.shop_car_Total);// 去计算
shop_car_edit = (TextView) get(R.id.shop_car_edit);// 编辑
shop_car_Totals = (TextView) get(R.id.shop_car_Totals);// 合计
// 设置全选反选点击事件
setOnClick(this, R.id.shop_car_Qselect, R.id.shop_car_edit, R.id.shop_car_Total);
// 适配器接口回调
shopCarAdadpter.setOnItermCliklsener(new ShopCarAdadpter.setOnCliklisener() {
@Override
public void onCliklsener(List<ShopCarBean.DataBean> list) {
// 进行单个条目逻辑处理
data1 = list;
double allprice = 0;
int num = 0;
int numAll = 0;
for (int i = 0; i < list.size(); i++) {
List<ShopCarBean.DataBean.ListBean> list1 = list.get(i).getList();
for (int j = 0; j < list1.size(); j++) {
numAll++;
if (list1.get(j).isCkd()) {
int n = list1.get(j).getNum();
allprice = allprice + (list1.get(j).getPrice() * n);
num = num + list1.get(j).getNum();
}
}
}
if (num < numAll) {
isCkd = true;
shop_car_Qselect.setImageResource(R.mipmap.cricle_no);
} else {
shop_car_Qselect.setImageResource(R.mipmap.cricle_yes);
isCkd = false;
}
if (isDelet == false) {
shop_car_Total.setText(“删除”);
} else {
shop_car_Total_price.setText(“¥:” + allprice);
shop_car_Total.setText(“去计算(” + num + “)”);
}
}
});
}
@Override
public void suecssString(int type, String data) {
super.suecssString(type, data);
switch (type) {
case 0:
if (data.contains("<") || data.equals("") || data == null || "null".equals(data)) {
return;
}
Gson gson = new Gson();
shopCarBean = gson.fromJson(data, ShopCarBean.class);
data1 = shopCarBean.getData();
shopCarAdadpter.setList(data1);
break;
case 1:
shopCarAdadpter.notifyDataSetChanged();
Gson gson1 = new Gson();
MessgeBean messgeBean = gson1.fromJson(data, MessgeBean.class);
String msg = messgeBean.getMsg();
if ("0".equals(messgeBean.getCode())) {
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
doHttp();
}
break;
}
}
private Context context;
@Override
public void getContext(Context context) {
super.getContext(context);
this.context = context;
}
private boolean isCkd = true;
private boolean isDelet = true;
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.shop_car_Qselect:
// 全选
if (isCkd) {
allGoods(true);
isCkd = false;
} else {
allGoods(false);
isCkd = true;
}
break;
case R.id.shop_car_edit:
if (isDelet) {
shop_car_edit.setText("完成");
shop_car_Total.setText("删除");
shop_car_Total_price.setVisibility(View.GONE);
shop_car_Totals.setVisibility(View.GONE);
isDelet = false;
shopCarAdadpter.notifyDataSetChanged();
} else {
shop_car_edit.setText("编辑");
shop_car_Total.setText("去计算(0)");
shop_car_Total_price.setVisibility(View.VISIBLE);
shop_car_Totals.setVisibility(View.VISIBLE);
isDelet = true;
}
break;
case R.id.shop_car_Total:
if (!isDelet) {
deleteCar();
}
break;
}
}
// 执行删除方法
private void deleteCar() {
for (int i = 0; i < data1.size(); i++) {
List<ShopCarBean.DataBean.ListBean> list = data1.get(i).getList();
for (int j = 0; j < list.size(); j++) {
int pid = list.get(j).getPid();
deletCarHttp(pid);
}
}
}
private void deletCarHttp(int pid) {
getString(1, HttpUrl.deleCar + "?uid=" + uid + "&pid=" + pid + "&token=" + token);
}
private double allprice = 0;
private int allNum = 0;
private void allGoodsClik(boolean b) {
for (int i = 0; i < data1.size(); i++) {
List<ShopCarBean.DataBean.ListBean> list = data1.get(i).getList();
for (int j = 0; j < list.size(); j++) {
list.get(j).setCkd(b);
allprice = allprice + list.get(j).getPrice();
allNum = allNum + list.get(j).getNum();
}
}
if (b) {
shop_car_Qselect.setImageResource(R.mipmap.cricle_yes);
} else {
shop_car_Qselect.setImageResource(R.mipmap.cricle_no);
}
shopCarAdadpter.notifyDataSetChanged();
}
// 给赋值
private void allGoods(boolean c) {
allGoodsClik(c);
if (isDelet == false) {
shop_car_Total.setText("删除");
} else {
if (c) {
String allprice1 = String.format("%.2f", allprice);
shop_car_Total_price.setText("¥:" + allprice1);
shop_car_Total.setText("去计算(" + allNum + ")");
} else {
allprice = 0;
allNum = 0;
shop_car_Total_price.setText("¥:0.00");
shop_car_Total.setText("去计算(0)");
}
}
shopCarAdadpter.notifyDataSetChanged();
}
public void onResume() {
// 请求接口购物车接口
doHttp();
}
private void doHttp() {
boolean islogin = config.getBoolean("islogin", false);
if (islogin == true) {
getString(0, HttpUrl.selectShopUrl + "?uid=" + uid + "&token=" + token);
shopCarAdadpter.notifyDataSetChanged();
} else {
data1.clear();
shopCarAdadpter.notifyDataSetChanged();
Toast.makeText(context, "请先在登录", Toast.LENGTH_SHORT).show();
}
}
}