package com.bawie.weidu.show.view;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
import com.bawie.weidu.R;
import com.bawie.weidu.base.BaseFragment;
import com.bawie.weidu.cart.adapter.CartAdapter;
import com.bawie.weidu.cart.entity.Cart_entity;
import com.bawie.weidu.cart.presenter.CartPresenter;
import com.bawie.weidu.cart.view.Cart_View;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/4/18 21:40
-
@Description:描述信息
*/
public class Frag_cart extends BaseFragment implements Cart_View<Cart_entity> {private XRecyclerView recyclerView;
private TextView z_price;
private TextView z_count;
private CheckBox quanxuan;@Override
public int bindLayout() {
return R.layout.frag_cart;
}@Override
protected void initView() {
recyclerView = getView().findViewById(R.id.recyleview);
z_price = getView().findViewById(R.id.z_price);
z_count = getView().findViewById(R.id.z_count);
quanxuan = getView().findViewById(R.id.quanxuan);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
CartPresenter cartPresenter = new CartPresenter(this);
cartPresenter.cart();
}@Override
protected void initData() {}
@Override
protected void bindEvent() {}
@Override
public void onDataSuccess(Cart_entity data) {
Cart_entity data1 = data;
CartAdapter cartAdapter = new CartAdapter(getActivity(), data1);
recyclerView.setAdapter(cartAdapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
//总价
cartAdapter.setPrice(z_price);
//全选
cartAdapter.checkAll(quanxuan);}
@Override
public void onDataFail(String mgs) {}
}
package com.bawie.weidu.cart.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.TextView;
import com.bawie.weidu.R;
import com.bawie.weidu.cart.Addandsub;
import com.bawie.weidu.cart.entity.Cart_entity;
import com.bumptech.glide.Glide;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
/**
-
@Author:asus
-
@E-mail: 945574298@163.com
-
@Date:2019/4/26 11:44
-
@Description:描述信息
*/
public class CartAdapter extends XRecyclerView.Adapter<CartAdapter.ViewHolder> {
private Context context;
private Cart_entity cart_entity;public CartAdapter(Context context, Cart_entity cart_entity) {
this.context = context;
this.cart_entity = cart_entity;
}@NonNull
@Override
public CartAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(context).inflate(R.layout.cart_item, null);
return new ViewHolder(view);
}@Override
public void onBindViewHolder(@NonNull CartAdapter.ViewHolder viewHolder, final int i) {
viewHolder.c_name.setText(cart_entity.getResult().get(i).getCommodityName());
Glide.with(context).load(cart_entity.getResult().get(i).getPic()).into(viewHolder.c_image);
viewHolder.price.setText(“¥”+cart_entity.getResult().get(i).getPrice()+"");
//单选
viewHolder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
cart_entity.getResult().get(i).setCheckd(isChecked);
boolean flag = selectCheck();
qCheckbox.setChecked(flag);
totaoPrice();} }); //点击加减器 viewHolder.jiajian.setNumCallBack(new Addandsub.NumCallBack() { @Override public void getNum(int nums) { cart_entity.getResult().get(i).setCount(nums); totaoPrice(); notifyDataSetChanged(); } });
}
//总价计算
private void totaoPrice() {
int tprice=0;
for (int i=0;i<cart_entity.getResult().size();i++){
int counts = cart_entity.getResult().get(i).getCount();
int prices = cart_entity.getResult().get(i).getPrice();
boolean checkd = cart_entity.getResult().get(i).isCheckd();
if(checkd){
tprice+=counts*prices;
}} zognjia.setText(tprice+"");
}
//遍历里面每一个checkbox的状态
private boolean selectCheck(){
for(int j=0;j<cart_entity.getResult().size();j++){
boolean checkd = cart_entity.getResult().get(j).isCheckd();
if(!checkd){
return false;
}
}
return true;
}@Override
public int getItemCount() {
return cart_entity.getResult().size();
}
TextView zognjia;
public void setPrice(TextView z_price) {
this.zognjia=z_price;
}
//全选
CheckBox qCheckbox;
public void checkAll(final CheckBox quanxuan) {
this.qCheckbox=quanxuan;
qCheckbox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean checked = qCheckbox.isChecked();
slecaAll(checked);
}private void slecaAll(boolean checked) { for (int i=0;i<cart_entity.getResult().size();i++){ cart_entity.getResult().get(i).setCheckd(checked); } notifyDataSetChanged(); }
});
}
public class ViewHolder extends RecyclerView.ViewHolder {
private final ImageView c_image; private final TextView c_name; private final Addandsub jiajian; private final CheckBox checkBox; private final TextView price; public ViewHolder(@NonNull View itemView) { super(itemView); c_image = itemView.findViewById(R.id.c_image); c_name = itemView.findViewById(R.id.c_name); jiajian = itemView.findViewById(R.id.c_jiajian); checkBox = itemView.findViewById(R.id.c_check); price = itemView.findViewById(R.id.c_price); }
}
}