一级购物车

public class GwcFragMent extends Fragment implements ShopView {

    private RecyclerView xrecycler;
    private MyAdapters myAdapters;
    private PresenterIml presenterIml;
    private List<ShopBean.ResultBean> list = new ArrayList<>();
    private CheckBox checkBox1;
    private TextView text_price,tv_num;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.gwc_fragment,container,false);

        xrecycler= view.findViewById(R.id.xrecycler);
        checkBox1 = view.findViewById(R.id.checkBox1);
        text_price = view.findViewById(R.id.text_price);
        tv_num =  view.findViewById(R.id.tv_num);
        //设置布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
        linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        xrecycler.setLayoutManager(linearLayoutManager);

        myAdapters = new MyAdapters(getActivity());
        xrecycler.setAdapter(myAdapters);

        //适配器
        myAdapters.setChanListener(new MyAdapters.ChanListener() {
            @Override
            public void chanlistener(List<ShopBean.ResultBean> listbean) {

                float priceAll=0;
                int countAll=0;
                int num=0;

                for (int i = 0; i <list.size() ; i++) {

                    if (list.get(i).isIschckd()){
                        //选中
                        int price = list.get(i).getPrice();
                        int count = list.get(i).getCount();
                        //获取总价
                        priceAll=priceAll+price*count;
                        countAll=countAll +count;
                    }
                }

                if (num==list.size()){
                    //所有的商品都选种
                    checkBox1.setChecked(true);
                }else {
                    checkBox1.setChecked(false);
                }

                text_price.setText(priceAll+"");
                tv_num.setText("去结算("+countAll+")");
            }
        });

        //选择
        checkBox1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                boolean checked = checkBox1.isChecked();
                float priceal=0;
                int num=0;
                for (int i = 0; i <list.size() ; i++) {

                    list.get(i).setIschckd(checked);
                    int price1 = list.get(i).getPrice();
                    int count = list.get(i).getCount();
                    priceal=priceal+price1*count;
                    num=num+count;
                    }

                    if (!checked){
                    priceal=0;
                    num=0;
                    }

                    text_price.setText(priceal+"");
                    tv_num.setText("去结算("+num+")");
                    myAdapters.setData(list);
                }

        });
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        //获取presenter
        presenterIml = new PresenterIml(new Modelml(), this);
        //获取头参
        Map<String, String> map = new HashMap<>();
        map.put("userId", "737");

        map.put("sessionId", "1557058097977737");
        presenterIml.GetShop(1,"/small/order/verify/v1/findShoppingCart",map,null);
}

    @Override
    public void success(int type, String data) {
      if (type==1){
          Log.i("ccc",data);
          ShopBean shopBean = new Gson().fromJson(data, ShopBean.class);

          if (shopBean.getStatus().equals("0000")){
              list = shopBean.getResult();
              myAdapters.setData(list);
          }else {
              Toast.makeText(getActivity(), shopBean.getMessage(), Toast.LENGTH_LONG).show();
          }
      }

    }

    @Override
    public void fail(int type, String error) {

        Log.i("aaa", error);
    }


}

public class MyAdapters extends RecyclerView.Adapter<MyAdapters.MyViewHolders> {

    private Context context;
    private MyViewHolders myViewHolders;

    public MyAdapters(Context context) {
        this.context = context;
    }

    private List<ShopBean.ResultBean> list = new ArrayList<>();


    @NonNull
    @Override
    public MyAdapters.MyViewHolders onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

        View view = View.inflate(context,R.layout.gwe_item,null);
        myViewHolders = new MyViewHolders(view);
        return myViewHolders;
    }

    @Override
    public void onBindViewHolder(@NonNull final MyAdapters.MyViewHolders myViewHolders, final int i) {

        myViewHolders.checkBox2.setChecked(list.get(i).isIschckd());
        myViewHolders.text_name.setText(list.get(i).getCommodityName());
        myViewHolders.text_price.setText(list.get(i).getPrice()+"");
        myViewHolders.simp_view.setImageURI(list.get(i).getPic());
        myViewHolders.shopaddview.setNum(list.get(i).getCount());

        //获取子布局的选择
        myViewHolders.checkBox2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                boolean checked = myViewHolders.checkBox2.isChecked();
                list.get(i).setIschckd(checked);
                chanListener.chanlistener(list);
            }
        });

        //获取数量
        myViewHolders.shopaddview.setChangeNumListener(new ShopAddView.ChangeNumListener() {
            @Override
            public void num(int num) {

                list.get(i).setCount(num);
                chanListener.chanlistener(list);
            }
        });

    }

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

    public void setData(List<ShopBean.ResultBean> list) {
        this.list =list;
        notifyDataSetChanged();
    }

    public class MyViewHolders extends RecyclerView.ViewHolder {
       ShopAddView shopaddview;
        CheckBox checkBox2;
        TextView text_name,text_price;
        SimpleDraweeView simp_view;

        public MyViewHolders(@NonNull View itemView) {
            super(itemView);

            checkBox2 =itemView.findViewById(R.id.checkBox2);
            simp_view =itemView.findViewById(R.id.simp_view);
            text_name =itemView.findViewById(R.id.text_name);
            text_price = itemView.findViewById(R.id.text_price);
            shopaddview = itemView.findViewById(R.id.shopaddview);
        }
    }

    //接口回调
    public interface ChanListener{

        void chanlistener(List<ShopBean.ResultBean> listbean);
    }

    private ChanListener chanListener;

    public void setChanListener(ChanListener chanListener) {
        this.chanListener = chanListener;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值