购物车(进入页面动画,购物车价格计算,增减,删除)

本文详细介绍了一个电商APP中购物车模块的具体实现过程,包括商品详情接口调用、购物车数据展示、购物车数据更新及删除等核心功能,并介绍了如何使用OkHttp进行网络请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内容很糙,多选有很多bug,拖拉机修复

这里写图片描述

依赖


    compile 'com.squareup.okhttp3:okhttp:3.4.1'

    compile 'com.squareup.okio:okio:1.5.0'

    compile 'com.github.bumptech.glide:glide:3.6.1'

    compile 'com.google.code.gson:gson:2.2.4'

http


HttpConfig


/**
 * author:Created by LiQiang on 2018-01-10.
 * 公共参数:source 来源字段 String类型 (通过自定义拦截器封装,否则判0分)
 *
 1.商品详情接口
 https://www.zhaoapi.cn/product/getProductDetail
 请求参数说明:
 pid        商品id字段   String类型    必传
 返回字段说明:
 bargainPrice 优惠价字段 double类型
 title 商品名称字段 String类型
 price 原价字段
 images     图片列表字段  String类型(注意多张图片用|分割,需要分离出图片url,取第一张图片显示即可)

 2.加入购物车接口
 https://www.zhaoapi.cn/product/addCart
 请求参数说明:
 uid    用户id字段  String类型 必传
 pid        商品id字段   String类型    必传
 返回字段说明:
 {"msg":"加购成功","code":"0"}

 3.获取购物车列表接口
 https://www.zhaoapi.cn/product/getCarts
 请求参数说明:
 uid    用户id字段  String类型 必传
 返回字段说明:
 见返回json串
 sellerName  商家名称
 sellerid  商家id
 商家包含的商品,返回字段说明,同商品详情返回参数说明。

 4.更新购物车
 接口地址:http://120.27.23.105/product/updateCarts?uid=71&sellerid=1&pid=1&selected=0&num=10
 返回格式:json
 请求方式:get/post
 接口备注:更新购物车
 请求参数说明:
 名称 类型  必填  说明
 uid    string  是   用户id
 sellerid   string  是   商户id
 pid    string  是   商品id
 num    string  是   商品数量
 selected   string  是   是否选中

 5.删除购物车(新增)
 接口地址:https://www.zhaoapi.cn/product/deleteCart?uid=72&pid=1
 返回格式:json
 请求方式:get/post
 接口备注:删除购物车
 请求参数说明:
 名称 类型  必填  说明
 uid    string  是   用户id
 pid    string  是   商品id
 token  String  是   用户令牌

 返回参数说明
 */

public class HttpConfig {
    public static String url_detail = "https://www.zhaoapi.cn/product/getProductDetail";
    public static String url_add = "https://www.zhaoapi.cn/product/addCart";
    public static String url_carts = "https://www.zhaoapi.cn/product/getCarts";
    public static String url_upadtecarts = "http://120.27.23.105/product/updateCarts";
    public static String url_deletecarts = "https://www.zhaoapi.cn/product/deleteCart";
}

OkHttpUtils



public class OKHttpUtils {
    private static OKHttpUtils okHttpUtils = null;

    //单例
    public static OKHttpUtils getInstance() {
        if (okHttpUtils == null) {
            okHttpUtils = new OKHttpUtils();
        }
        return okHttpUtils;
    }

    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            int w = msg.what;
            switch (w) {
                case 0://失败
                    String error = (String) msg.obj;
                    Log.d(TAG, "handleMessage:++++++++++-------e " + error);
                    onLoadListener.loadError(error);
                    break;
                case 1://成功
                    String json = (String) msg.obj;
                    Log.d(TAG, "handleMessage:+++++++++-----------s " + json);
                    onLoadListener.loadSuccess(json);
                    break;

            }
        }
    };
    private OnLoadListener onLoadListener;

    //get
    public void okGet(String url) {
        OkHttpClient okHttpClient = new OkHttpClient();
        Request build = new Request.Builder().url(url).build();
        Call call = okHttpClient.newCall(build);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Message message = handler.obtainMessage();
                message.what = 0;
                message.obj = e.getMessage();
                handler.sendMessage(message);
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                Message message = handler.obtainMessage();
                message.what = 1;
                message.obj = response.body().string();
                handler.sendMessage(message);
            }
        });
    }

    //post
    public void okPost(String url, Map<String, Object> map) {
        OkHttpClient okHttpClient = new OkHttpClient.Builder().addInterceptor(new MyInter()).build();
        //创建formbody
        FormBody.Builder builder = new FormBody.Builder();
        Set<String> keySet = map.keySet();
        for (String key : keySet) {
            Object value = map.get(key);
            builder.add(key, String.valueOf(value));
        }
        FormBody build1 = builder.build();
        Request build = new Request.Builder().url(url).post(build1).build();
        Call call = okHttpClient.newCall(build);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Message message = handler.obtainMessage();
                message.what = 0;
                message.obj = e.getMessage();
                handler.sendMessage(message);
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                Message message = handler.obtainMessage();
                message.what = 1;
                message.obj = response.body().string();
                handler.sendMessage(message);
            }
        });
    }

    class MyInter implements Interceptor {

        @Override
        public Response intercept(Chain chain) throws IOException {
            //获取原来的body
            Request request = chain.request();
            RequestBody body = request.body();
            if (body instanceof FormBody) {
                FormBody.Builder builder = new FormBody.Builder();
                for (int i = 0; i < ((FormBody) body).size(); i++) {
                    String name = ((FormBody) body).name(i);
                    String value = ((FormBody) body).value(i);
                    //放入新的
                    builder.add(name, value);
                }

                builder.add("source", "android");
                FormBody formBody = builder.build();
                Request request1 = request.newBuilder().post(formBody).build();
                Response proceed = chain.proceed(request1);
                return proceed;
            }

            return null;
        }
    }

    public void setOnLoadListener(OnLoadListener onLoadListener) {
        this.onLoadListener = onLoadListener;
    }

}

Model


IModel

public interface IModel {
    //得到详情页面数据
    void getDetailData(String url, Map<String, Object> map, OnDetailLoadListener onDetailLoadListener);
    //计算总价
    double jisuanNum(CartBean cartBean);
}

ModelImpl


public class ModelImpl implements IModel {
    @Override
    public void getDetailData(String url, Map<String, Object> map, final OnDetailLoadListener onDetailLoadListener) {
        //加载okhttp
        OKHttpUtils okHttpUtils = OKHttpUtils.getInstance();
        okHttpUtils.okPost(url, map);
        okHttpUtils.setOnLoadListener(new OnLoadListener() {
            @Override
            public void loadSuccess(String json) {
                Log.d(TAG, "loadSuccess: "+json);
                onDetailLoadListener.detailLoadSuccess(json);
            }

            @Override
            public void loadError(String error) {
                onDetailLoadListener.detailLoadError(error);
            }
        });
    }

    @Override
    public double jisuanNum(CartBean cartBean) {
        double num = 0;
        List<CartBean.DataBean> data = cartBean.getData();
        for (int i = 0; i < data.size(); i++) {
            List<CartBean.DataBean.ListBean> list = data.get(i).getList();
            for (int j = 0; j < list.size(); j++) {
                CartBean.DataBean.ListBean listBean = list.get(j);
                if (listBean.isChildIsSelect()) {
                    num+=listBean.getBargainPrice()*(int)listBean.getNum();
                }
            }
        }
        return num;
    }

}

MAdapter



public class MAdapter extends BaseExpandableListAdapter {
    private final CartBean cartBean;
    private final List<CartBean.DataBean> data;
    private final Context context;
    private final ICartView iCartView;
    private final IModel iModel;
    private PresenterImpl presenter = new PresenterImpl();

    public MAdapter(Context context, CartBean cartBean, ICartView iCartView ,IModel iModel) {
        this.context = context;
        this.cartBean = cartBean;
        this.data = cartBean.getData();
        this.iCartView = iCartView;
        this.iModel = iModel;
    }

    @Override
    public int getGroupCount() {
        return data.size();
    }

    @Override
    public int getChildrenCount(int i) {
        return data.get(i).getList().size();
    }

    @Override
    public Object getGroup(int i) {
        return data.get(i);
    }

    @Override
    public Object getChild(int i, int i1) {
        return data.get(i).getList().get(i1);
    }

    @Override
    public long getGroupId(int i) {
        return i;
    }

    @Override
    public long getChildId(int i, int i1) {
        return i1;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public View getGroupView(final int i, boolean b, View view, ViewGroup viewGroup) {
        GroupViewHolder groupViewHolder = null;
        if (view == null) {
            view = View.inflate(context, R.layout.group_item, null);
            groupViewHolder = new GroupViewHolder();
            groupViewHolder.textView = view.findViewById(R.id.tv);
            groupViewHolder.checkBox = view.findViewById(R.id.cb);
            view.setTag(groupViewHolder);
        } else {
            groupViewHolder = (GroupViewHolder) view.getTag();
        }
        groupViewHolder.textView.setText(data.get(i).getSellerName());
        groupViewHolder.checkBox.setChecked(data.get(i).isGroupIsSelect());
        groupViewHolder.checkBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                CartBean.DataBean dataBean = data.get(i);
                boolean groupIsSelect = dataBean.isGroupIsSelect();
                groupIsSelect = !groupIsSelect;
                dataBean.setGroupIsSelect(groupIsSelect);
                for (int j = 0; j < dataBean.getList().size(); j++) {
                    dataBean.getList().get(j).setChildIsSelect(groupIsSelect);
                }
                PresenterImpl presenter = new PresenterImpl();
                presenter.showCartNum(new ModelImpl(), cartBean, iCartView);
                notifyDataSetChanged();
            }
        });
        return view;
    }

    @Override
    public View getChildView(final int i, final int i1, boolean b, View view, ViewGroup viewGroup) {
        ChildViewHolder childViewHolder = null;
        if (view == null) {
            view = View.inflate(context, R.layout.child_item, null);
            childViewHolder = new ChildViewHolder();
            childViewHolder.checkBox = view.findViewById(R.id.child_cb);
            childViewHolder.imageView = view.findViewById(R.id.child_img);
            childViewHolder.textView_title = view.findViewById(R.id.child_title);
            childViewHolder.textView_price = view.findViewById(R.id.child_price);
            childViewHolder.child_numdown = view.findViewById(R.id.child_numdown);
            childViewHolder.child_num = view.findViewById(R.id.child_num);
            childViewHolder.child_numup = view.findViewById(R.id.child_numup);
            childViewHolder.child_delete = view.findViewById(R.id.child_delete);
            view.setTag(childViewHolder);
        } else {
            childViewHolder = (ChildViewHolder) view.getTag();
        }
        String images = data.get(i).getList().get(i1).getImages().split(".jpg")[0] + ".jpg";
        Glide.with(context).load(images).into(childViewHolder.imageView);
        if (data.get(i).getList().get(i1).getSelected() == 1) {
            data.get(i).getList().get(i1).setChildIsSelect(true);
        }else{
            data.get(i).getList().get(i1).setChildIsSelect(false);
        }
        boolean childIsSelect = data.get(i).getList().get(i1).isChildIsSelect();
        childViewHolder.checkBox.setChecked(childIsSelect);
        childViewHolder.textView_title.setText(data.get(i).getList().get(i1).getTitle());
        childViewHolder.textView_price.setText(data.get(i).getList().get(i1).getBargainPrice() + "");
        childViewHolder.child_num.setText((int) data.get(i).getList().get(i1).getNum() + "");
        //减
        childViewHolder.child_numdown.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                List<CartBean.DataBean.ListBean> list = cartBean.getData().get(i).getList();
                CartBean.DataBean.ListBean listBean = list.get(i1);
                int v = (int)listBean.getNum() - 1;
                if (v < 1) {
                    v=1;
                    Toast.makeText(context, "再少就没有了", Toast.LENGTH_SHORT).show();
                }

                list.get(i1).setNum(v);
                presenter.showCartNum(new ModelImpl(), cartBean, iCartView);
                presenter.updateCartData_IPresenter(new ModelImpl(),listBean,iCartView);
                notifyDataSetChanged();
            }
        });
        //加
        childViewHolder.child_numup.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                List<CartBean.DataBean.ListBean> list = cartBean.getData().get(i).getList();
                CartBean.DataBean.ListBean listBean = list.get(i1);
                int v = (int)listBean.getNum() + 1;
                list.get(i1).setNum(v);
                presenter.showCartNum(new ModelImpl(), cartBean, iCartView);
                presenter.updateCartData_IPresenter(new ModelImpl(),listBean,iCartView);
                notifyDataSetChanged();
            }
        });
        //删除
        childViewHolder.child_delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                List<CartBean.DataBean.ListBean> list = cartBean.getData().get(i).getList();
                CartBean.DataBean.ListBean listBean = list.get(i1);
                list.remove(i1);
                presenter.deleteCartData_Ipresenter(new ModelImpl(),listBean,iCartView);
                notifyDataSetChanged();
            }
        });
        childViewHolder.checkBox.setOnClickListener(new View.OnClickListener() {

            private boolean flag;

            @Override
            public void onClick(View view) {
                flag = true;
                List<CartBean.DataBean.ListBean> list = cartBean.getData().get(i).getList();
                CartBean.DataBean.ListBean listBean = list.get(i1);

                boolean childIsSelect = listBean.isChildIsSelect();
                childIsSelect = !childIsSelect;
                list.get(i1).setChildIsSelect(childIsSelect);
                for (int j = 0; j < list.size(); j++) {
                    if (list.get(j).isChildIsSelect() == false) {
                        flag = false;
                    }
                    cartBean.getData().get(i).setGroupIsSelect(flag);
                }
                if (childIsSelect) {
                    listBean.setSelected(1);
                }else{
                    listBean.setSelected(0);
                }

                presenter.showCartNum(new ModelImpl(), cartBean, iCartView);
                presenter.updateCartData_IPresenter(new ModelImpl(),listBean,iCartView);
                notifyDataSetChanged();
            }
        });
        presenter.showCartNum(new ModelImpl(), cartBean, iCartView);
        return view;
    }

    @Override
    public boolean isChildSelectable(int i, int i1) {
        return false;
    }

    //优化
    class GroupViewHolder {
        private CheckBox checkBox;
        private TextView textView;
    }

    class ChildViewHolder {
        private CheckBox checkBox;
        private ImageView imageView;
        private TextView textView_title;
        private TextView textView_price;
        private Button child_numdown;
        private TextView child_num;
        private Button child_numup;
        private Button child_delete;
    }
}

OnDetailLoadListener

public interface OnDetailLoadListener {
    void detailLoadSuccess(String json);

    void detailLoadError(String error);
}

OnLoadListener

public interface OnLoadListener {
    void loadSuccess(String json);

    void loadError(String error);
}

View


SplashActivity跳转动画


public class SplashActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        ImageView iv = (ImageView) findViewById(R.id.iv);
        DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics();
        int heightPixels = displayMetrics.heightPixels/2+iv.getHeight();
        ObjectAnimator translationY = ObjectAnimator.ofFloat(iv, "translationY", 0, heightPixels);
        ObjectAnimator scaleX = ObjectAnimator.ofFloat(iv, "scaleX", 2f, 1f);
        ObjectAnimator scaleY = ObjectAnimator.ofFloat(iv, "scaleY", 2f, 1f);
        ObjectAnimator alpha = ObjectAnimator.ofFloat(iv, "alpha", 0, 1f);
        ObjectAnimator rotation = ObjectAnimator.ofFloat(iv, "rotation", 0, 360);
        AnimatorSet animatorSet = new AnimatorSet();
        animatorSet.playTogether(translationY,scaleX,scaleY,alpha,rotation);
        animatorSet.setDuration(3000);
        animatorSet.start();
        animatorSet.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationEnd(animation);
                startActivity(new Intent(SplashActivity.this,MainActivity.class));
                overridePendingTransition(R.anim.enter,R.anim.out);
            }
        });

    }
}

IMainView

public interface IMainView {
    //展示详情页面数据
    void showDetailData(DetailBean detailBean);
    //跳转到购物车
    void jumpToCart();
}

MainActivity


public class MainActivity extends AppCompatActivity implements IMainView, View.OnClickListener {

    private ImageView main_image;
    private TextView main_title;
    private TextView main_price;
    private TextView main_bargainPrice;
    private TextView main_cart;
    private TextView main_addCart;
    private PresenterImpl presenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        presenter = new PresenterImpl();
        presenter.showDetailData_IPresenter(this, new ModelImpl());
    }

    private void initView() {
        main_image = (ImageView) findViewById(R.id.main_image);
        main_title = (TextView) findViewById(R.id.main_title);
        main_price = (TextView) findViewById(R.id.main_price);
        main_bargainPrice = (TextView) findViewById(R.id.main_bargainPrice);
        main_cart = (TextView) findViewById(R.id.main_cart);
        main_addCart = (TextView) findViewById(R.id.main_addCart);
        main_cart.setOnClickListener(this);
        main_addCart.setOnClickListener(this);
    }


    @Override
    public void showDetailData(DetailBean detailBean) {
        DetailBean.DataBean data = detailBean.getData();
        String images = data.getImages();
        String images2 = images.split(".jpg")[0] + ".jpg";
        String title = data.getTitle();
        double price = data.getPrice();
        double bargainPrice = data.getBargainPrice();
        Glide.with(MainActivity.this).load(images2).into(main_image);
        main_title.setText(title);
        main_price.setText("原价:" + price + "");
        //设置删除线
        main_price.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
        main_bargainPrice.setText("优惠价:" + bargainPrice + "");
    }

    @Override
    public void jumpToCart() {
        startActivity(new Intent(this, CartActivity.class));
        overridePendingTransition(R.anim.enter,R.anim.out);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.main_cart:
                presenter.jumpToCart(this);
                break;
            case R.id.main_addCart:

                break;

        }
    }
}

ICartView

public interface ICartView {
    //展示购物车数据
    void showCartData(CartBean cartBean);
    //展示金额总计
    void showNum(double num);
}

CartActivity


public class CartActivity extends AppCompatActivity implements ICartView, View.OnClickListener {

    private static final String TAG = "Tag+++";
    private CheckBox cart_allcheck;
    private TextView cart_sum;
    private ExpandableListView cart_explv;
    private CartBean cartBean;
    private MAdapter mAdapter;
    private CartBean.DataBean.ListBean listBean;
    public int selected = 0;
    private PresenterImpl presenter = new PresenterImpl();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cart);
        initView();
        PresenterImpl presenter = new PresenterImpl();
        presenter.showCartData_IPresenter(this, new ModelImpl());

    }

    private void initView() {
        cart_allcheck = (CheckBox) findViewById(R.id.cart_allcheck);
        cart_allcheck.setOnClickListener(this);
        cart_sum = (TextView) findViewById(R.id.cart_sum);
        cart_explv = (ExpandableListView) findViewById(R.id.cart_explv);
    }


    @Override
    public void showCartData(CartBean cartBean) {
        //把数据提一下
        this.cartBean = cartBean;
        mAdapter = new MAdapter(CartActivity.this, cartBean, this, new ModelImpl());
        cart_explv.setAdapter(mAdapter);
        //展开expandablelistview
        int groupCount = mAdapter.getGroupCount();
        for (int i = 0; i < groupCount; i++) {
            cart_explv.expandGroup(i);

        }
    }

    @Override
    public void showNum(double num) {
        cart_sum.setText("总价:$" + num);
    }

    int num = 0;


    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.cart_allcheck:

                List<CartBean.DataBean> data = cartBean.getData();
                for (int i = 0; i < data.size(); i++) {
                    CartBean.DataBean dataBean = data.get(i);
                    dataBean.setGroupIsSelect(!dataBean.isGroupIsSelect());
                    List<CartBean.DataBean.ListBean> list = dataBean.getList();
                    for (int j = 0; j < list.size(); j++) {
                        listBean = list.get(j);
                        Log.d(TAG, "onClick: " + list.get(j).isChildIsSelect());
                        list.get(j).setChildIsSelect(!list.get(j).isChildIsSelect());
                        if (list.get(j).isChildIsSelect()) {
                            selected = 1;
                        } else {
                            selected = 0;
                        }
                        Log.d(TAG, "onClick: " + list.get(j).isChildIsSelect());
                        list.get(j).setSelected((int) selected);
                        presenter.updateCartData_IPresenter(new ModelImpl(), listBean, this);
                    }
                }

                presenter.showCartNum(new ModelImpl(), cartBean, this);
                Log.d(TAG, "onClick:++++++++++++ " + listBean.getSelected() + listBean.getNum());
                mAdapter.notifyDataSetChanged();

                break;
            case 1:

                break;

        }
    }
}


Presenter


IPresenter

public interface IPresenter {
    //详情页面数据
    void showDetailData_IPresenter(IMainView iMainView, IModel iModel);
    //跳转
    void jumpToCart(IMainView iMainView);
    //购物车数据
    void showCartData_IPresenter(ICartView iCartView, IModel iModel);
    //展示总金额
    void showCartNum(IModel iModel, CartBean cartBean,ICartView iCartView);
    //修改购物车数据
    void updateCartData_IPresenter(IModel iModel, CartBean.DataBean.ListBean listBean, ICartView iCartView);

    //删除购物车数据
    void deleteCartData_Ipresenter(IModel iModel, CartBean.DataBean.ListBean listBean, ICartView iCartView);
}

PresenterImpl


public class PresenterImpl implements IPresenter {
    @Override
    public void showDetailData_IPresenter(final IMainView iMainView, IModel iModel) {
        Map<String, Object> map = new HashMap<>();
        map.put("pid", "17");
        iModel.getDetailData(HttpConfig.url_detail, map, new OnDetailLoadListener() {
            @Override
            public void detailLoadSuccess(String json) {
                Gson gson = new Gson();
                DetailBean detailBean = gson.fromJson(json, DetailBean.class);
                iMainView.showDetailData(detailBean);
            }

            @Override
            public void detailLoadError(String error) {
                Log.d(TAG, "detailLoadError: 失败+++++++++++++++++++++++");
            }
        });
    }

    @Override
    public void jumpToCart(IMainView iMainView) {
        iMainView.jumpToCart();
    }

    @Override
    public void showCartData_IPresenter(final ICartView iCartView, IModel iModel) {
        Map<String, Object> map = new HashMap<>();
        map.put("uid", "71");
        iModel.getDetailData(HttpConfig.url_carts, map, new OnDetailLoadListener() {
            @Override
            public void detailLoadSuccess(String json) {
                Gson gson = new Gson();
                CartBean cartBean = gson.fromJson(json, CartBean.class);
                iCartView.showCartData(cartBean);
                double num =0;
                iCartView.showNum(num);
            }

            @Override
            public void detailLoadError(String error) {
                Log.d(TAG, "detailLoadError: 失败+++++++++++++++++++++++");
            }
        });
    }

    @Override
    public void showCartNum(IModel iModel,CartBean cartBean, ICartView iCartView) {
        double num = iModel.jisuanNum(cartBean);
        iCartView.showNum(num);
    }

    @Override
    public void updateCartData_IPresenter(IModel iModel, CartBean.DataBean.ListBean listBean, final ICartView iCartView) {

        Map<String, Object> map = new HashMap<>();
        map.put("uid", "71");
        map.put("sellerid", (int)listBean.getSellerid());
        map.put("pid", (int)listBean.getPid());
        map.put("num", (int)listBean.getNum());
        map.put("selected", (int)listBean.getSelected());
        iModel.getDetailData(HttpConfig.url_upadtecarts, map, new OnDetailLoadListener() {
            @Override
            public void detailLoadSuccess(String json) {
                /*Gson gson = new Gson();
                CartBean cartBean = gson.fromJson(json, CartBean.class);
                iCartView.showCartData(cartBean);
                double num =0;
                iCartView.showNum(num);*/

                Log.d(TAG, "detailLoadSuccess: 修改成功++++++++++++++++++++");

            }

            @Override
            public void detailLoadError(String error) {
                Log.d(TAG, "detailLoadError: 修改失败+++++++++++++++++++++++");
            }
        });
    }

    @Override
    public void deleteCartData_Ipresenter(IModel iModel, CartBean.DataBean.ListBean listBean, ICartView iCartView) {
        Map<String, Object> map = new HashMap<>();
        map.put("uid", "71");
        map.put("pid", (int)listBean.getPid());
        iModel.getDetailData(HttpConfig.url_deletecarts, map, new OnDetailLoadListener() {
            @Override
            public void detailLoadSuccess(String json) {
                /*Gson gson = new Gson();
                CartBean cartBean = gson.fromJson(json, CartBean.class);
                iCartView.showCartData(cartBean);
                double num =0;
                iCartView.showNum(num);*/

                Log.d(TAG, "detailLoadSuccess: 删除成功++++++++++++++++++++"+json);

            }

            @Override
            public void detailLoadError(String error) {
                Log.d(TAG, "detailLoadError: 删除失败+++++++++++++++++++++++"+error);
            }
        });
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值