shop

shopfrag


public class Shoppingcartfragment extends Fragment implements IShowview<Shoppingbean> {


    private Showpresenter showpresenter;
    private List<Shoppingbean.ResultBean> result;
    private ShopCarAdapter shopCarAdapter;
    private RecyclerView recycler;
    private TextView sl;
    private TextView jg;
    private CheckBox qx;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.shoppingcart_fragment, container, false);
        sl = view.findViewById(R.id.sl);
        jg = view.findViewById(R.id.jg);
        qx = view.findViewById(R.id.qx);
        recycler = view.findViewById(R.id.recycler);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
        recycler.setLayoutManager(linearLayoutManager);
        showpresenter = new Showpresenter();
        showpresenter.setView(this);
        SharedPreferences sp = getActivity().getSharedPreferences("id", Context.MODE_PRIVATE);
        String uid = sp.getString("uid", "");
        String sid = sp.getString("sid", "");
        HashMap<String, String> stringStringHashMap = new HashMap<>();
        stringStringHashMap.put("userId", uid + "");
        stringStringHashMap.put("sessionId", sid);
        showpresenter.getShop(stringStringHashMap);
        qx.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                checkAll(isChecked);
            }

        });

        return view;
    }
    private void checkAll(boolean isChecked) {
        for (int i = 0; i < result.size(); i++) {
            Shoppingbean.ResultBean resultBean = result.get(i);
            resultBean.setCheck(isChecked);
        }
        shopCarAdapter.notifyDataSetChanged();
        price();
    }
    private void price() {
        int total = 0;
        int totalNum = 0;
        List<Shoppingbean.ResultBean> list = shopCarAdapter.getList();
        for (int i = 0; i <list.size(); i++) {
            Shoppingbean.ResultBean resultBean = list.get(i);
            if(resultBean.isCheck()){
                int count = resultBean.getCount();
                totalNum+=count;
                int price = resultBean.getPrice();
                total+=price*count;
            }
        }
        jg.setText("总价"+total+"¥");
        sl.setText("总数"+totalNum+"");
    }
    public void CountEvent(CountEvent event){
        int adapterPosition = event.getAdapterPosition();
        List<Shoppingbean.ResultBean> list = shopCarAdapter.getList();
        Shoppingbean.ResultBean resultBean = list.get(adapterPosition);
        if(resultBean.isCheck()){
            resultBean.setCount(event.getNewNum());

        }
        shopCarAdapter.notifyDataSetChanged();
        price();
    }
    public void GoosEvent(GoosEvent event){
        int adapterPosition = event.getAdapterPosition();
        List<Shoppingbean.ResultBean> result = shopCarAdapter.getList();
        Shoppingbean.ResultBean resultBean = result.get(adapterPosition);
        resultBean.setCheck(event.isGoodsCheck());
        if (!resultBean.isCheck()){
            qx.setChecked(false);
        }
        shopCarAdapter.notifyDataSetChanged();
        price();
    }

    @Override
    public void Success(Shoppingbean shoppingbean, int s) {
        if (s == 5) {
            result = shoppingbean.getResult();
            shopCarAdapter = new ShopCarAdapter(getActivity(), result);
            recycler.setAdapter(shopCarAdapter);
        }
    }

    @Override
    public void error(String s) {

    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
    }
}

shopbean


public class Shoppingbean {


    /**
     * result : [{"commodityId":5,"commodityName":"双头两用修容笔","count":3,"pic":"http://172.17.8.100/images/small/commodity/mzhf/cz/3/1.jpg","price":39},{"commodityId":3,"commodityName":"Lara style女神的魔盒全套彩妆","count":1,"pic":"http://172.17.8.100/images/small/commodity/mzhf/cz/1/1.jpg","price":3499},{"commodityId":4,"commodityName":"佩佩防晕染眼线液笔","count":3,"pic":"http://172.17.8.100/images/small/commodity/mzhf/cz/2/1.jpg","price":19},{"commodityId":7,"commodityName":"蓝色之恋","count":4,"pic":"http://172.17.8.100/images/small/commodity/mzhf/cz/5/1.jpg","price":29},{"commodityId":8,"commodityName":"Lara style蜜颊润泽腮红","count":5,"pic":"http://172.17.8.100/images/small/commodity/mzhf/cz/6/1.jpg","price":19},{"commodityId":6,"commodityName":"轻柔系自然裸妆假睫毛","count":4,"pic":"http://172.17.8.100/images/small/commodity/mzhf/cz/4/1.jpg","price":39}]
     * message : 查询成功
     * status : 0000
     */

    private String message;
    private String status;
    private List<ResultBean> result;
    private boolean isCheck=false;

    public boolean isCheck() {
        return isCheck;
    }

    public void setCheck(boolean check) {
        isCheck = check;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public List<ResultBean> getResult() {
        return result;
    }

    public void setResult(List<ResultBean> result) {
        this.result = result;
    }

    public static class ResultBean {
        /**
         * commodityId : 5
         * commodityName : 双头两用修容笔
         * count : 3
         * pic : http://172.17.8.100/images/small/commodity/mzhf/cz/3/1.jpg
         * price : 39
         */

        private int commodityId;
        private String commodityName;
        private int count;
        private String pic;
        private int price;
        private boolean isCheck=false;

        public boolean isCheck() {
            return isCheck;
        }

        public void setCheck(boolean check) {
            isCheck = check;
        }
        public int getCommodityId() {
            return commodityId;
        }

        public void setCommodityId(int commodityId) {
            this.commodityId = commodityId;
        }

        public String getCommodityName() {
            return commodityName;
        }

        public void setCommodityName(String commodityName) {
            this.commodityName = commodityName;
        }

        public int getCount() {
            return count;
        }

        public void setCount(int count) {
            this.count = count;
        }

        public String getPic() {
            return pic;
        }

        public void setPic(String pic) {
            this.pic = pic;
        }

        public int getPrice() {
            return price;
        }

        public void setPrice(int price) {
            this.price = price;
        }
    }
}




conten

public class CountEvent {
    private int adapterPosition;
    private int newNum;

    public CountEvent(int adapterPosition, int newNum) {
        this.adapterPosition = adapterPosition;
        this.newNum = newNum;
    }

    public int getAdapterPosition() {
        return adapterPosition;
    }

    public void setAdapterPosition(int adapterPosition) {
        this.adapterPosition = adapterPosition;
    }

    public int getNewNum() {
        return newNum;
    }

    public void setNewNum(int newNum) {
        this.newNum = newNum;
    }
}

goosevent

public class GoosEvent {
    private int adapterPosition;
    private boolean isGoodsCheck;

    public GoosEvent(int adapterPosition, boolean isGoodsCheck) {
        this.adapterPosition = adapterPosition;
        this.isGoodsCheck = isGoodsCheck;
    }

    public int getAdapterPosition() {
        return adapterPosition;
    }

    public void setAdapterPosition(int adapterPosition) {
        this.adapterPosition = adapterPosition;
    }

    public boolean isGoodsCheck() {
        return isGoodsCheck;
    }

    public void setGoodsCheck(boolean goodsCheck) {
        isGoodsCheck = goodsCheck;
    }

api

    //购物车
    @GET("small/order/verify/v1/findShoppingCart")
    Observable<Shoppingbean>getShop(@HeaderMap HashMap<String,String>hashMap);

p层


    public void getShop(HashMap<String, String> stringStringHashMap) {
        Observable<Shoppingbean> shop = api.getShop(stringStringHashMap);
        shop.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<Shoppingbean>() {
                    @Override
                    public void accept(Shoppingbean shoppingbean) throws Exception {
                        getView().Success(shoppingbean, 5);
                    }
                });

shopadapter


public class ShopCarAdapter extends RecyclerView.Adapter<ShopCarAdapter.ViewHolder> {
    Context context;
    List<Shoppingbean.ResultBean> list;

    public ShopCarAdapter(Context context, List<Shoppingbean.ResultBean> list) {
        this.context = context;
        this.list = list;
    }


    public List<Shoppingbean.ResultBean> getList() {
        return list;
    }

    public void setList(List<Shoppingbean.ResultBean> list) {
        this.list = list;
    }

    @NonNull
    @Override
    public ShopCarAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = View.inflate(viewGroup.getContext(), R.layout.shop_item, null);

        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull ShopCarAdapter.ViewHolder viewHolder, int i) {
        viewHolder.img.setImageURI(list.get(i).getPic());
        viewHolder.shop_price.setText(list.get(i).getPrice() + "");
        viewHolder.shop_title.setText(list.get(i).getCommodityName());
        viewHolder.zdy.setOnclickAdd(new Zdy.OnclickAdd() {
            @Override
            public void OnResout(int newnum) {

            }
        });
        viewHolder.checkbox1.setChecked(list.get(i).isCheck());
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        private final SimpleDraweeView img;
        private final TextView shop_title;
        private final TextView shop_price;
        private final Zdy zdy;
        private final CheckBox checkbox1;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            img = itemView.findViewById(R.id.img);
            shop_title = itemView.findViewById(R.id.shop_title);
            shop_price = itemView.findViewById(R.id.shop_price);
            zdy = itemView.findViewById(R.id.zdy);
            checkbox1 = itemView.findViewById(R.id.checkbox1);
        }
    }
}

zdy

    public class Zdy extends LinearLayout {


    private TextView jia;
    private TextView jian;
    private EditText num;

    public Zdy(Context context) {
        this(context,null);
    }

    public Zdy(Context context,  AttributeSet attrs) {
        this(context, attrs,0);
    }

    public Zdy(Context context,AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context);
    }

    private void init(final Context context) {
        View view = LayoutInflater.from(context).inflate(R.layout.zdy, this, true);
        jia = view.findViewById(R.id.jia);
        jian = view.findViewById(R.id.jian);
        num = view.findViewById(R.id.ed_num);
        num.setText("1");
        jia.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                int newnum = Integer.parseInt(num.getText().toString());
                newnum++;
                num.setText(newnum+"");
                if(onclickAdd!=null){
                    onclickAdd.OnResout(newnum);
                }
                onclickAdd.OnResout(newnum);
            }
        });
        jian.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                int newnum = Integer.parseInt(num.getText().toString());
                newnum--;
                if(newnum>=0){
                    num.setText(newnum+"");
                    Toast.makeText(context,"不能减了",Toast.LENGTH_SHORT).show();
                    if (onclickAdd!=null){
                        onclickAdd.OnResout(newnum);
                    } onclickAdd.OnResout(newnum);
                }
            }
        });
    }
    private OnclickAdd onclickAdd;
    public interface  OnclickAdd{
        void OnResout(int newnum);
    }

    public void setOnclickAdd(OnclickAdd onclickAdd) {
        this.onclickAdd = onclickAdd;
    }
}




shopitem

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/checkbox1"/>
    <com.facebook.drawee.view.SimpleDraweeView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/img"/>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_height="wrap_content"
            android:text="wdfcxsdf"
            android:id="@+id/shop_title"/>
        <TextView
            android:layout_marginTop="20dp"
            android:text="wdfcxsdf"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/shop_price"/>
    </LinearLayout>
    <com.bawie.week22.Zdy
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/zdy"></com.bawie.week22.Zdy>

</LinearLayout>

sjoppingcard_fragment

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
  >
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:id="@+id/recycler"></android.support.v7.widget.RecyclerView>
</LinearLayout>
   <LinearLayout
       android:layout_marginTop="50dp"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:orientation="horizontal">
       <CheckBox
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="全选"
           android:id="@+id/qx"/>
       <TextView
           android:layout_marginLeft="30dp"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/jg"
           android:text="价格"/>
       <TextView
           android:layout_marginLeft="30dp"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/sl"
           android:text="数量"/>
   </LinearLayout>
</LinearLayout>

zdy

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/jian"
    android:text="-"/>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ed_num"
        android:text="1"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/jia"
        android:text="+"/>
</LinearLayout>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值