必须将选定的项目添加到Android中的购物车中

时间:2016-03-29 04:59:41

标签: android

我已经在扩展列表视图中有一些静态数据,如果有任何客户点击它们必须选择它们,那么必须将其添加到购物车中。所以请给我一些建议。有任何实现的代码,请在这里发布。

提前致谢。

1 个答案:

答案 0 :(得分:1)

假设在购物车屏幕上有两个用于添加和删除项目的按钮,因此下面的适配器类上的点击事件都只是示例

holder.imgAddItem.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    mCartDetail mCartDetail;
                    if (Utility.mCartList.containsKey(mcategoryProductDetail.productdetails.get(0).psid)) {
                        mCartDetail = Utility.mCartList.get(mcategoryProductDetail.productdetails.get(0).psid);
                        int finalMmaxBuy = 0;
                        if (!mCartDetail.categoryProductDetail.max_buy_qty.equalsIgnoreCase(" ")) {
                            finalMmaxBuy = Integer.parseInt(mCartDetail.categoryProductDetail.max_buy_qty);
                        }
                        if (mCartDetail.addQuantity < finalMmaxBuy) {
                            mCartDetail.addQuantity++;
                        } 
                    } else {
                        mCartDetail = new mCartDetail();
                        mCartDetail.categoryProductDetail = mcategoryProductDetail.productdetails.get(0);
                        mCartDetail.addQuantity = 1;
                        Utility.mCartList.put(mcategoryProductDetail.productdetails.get(0).psid, mCartDetail);
                    }

                    mCartDetail.totalprice = Float.parseFloat(mCartDetail.categoryProductDetail.our_price) * mCartDetail.addQuantity;


                    holder1.tvProductCounter.setText(String.valueOf(mCartDetail.addQuantity));
                }
            });

            holder.imgRemoveItem.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    if (Utility.mCartList.containsKey(mcategoryProductDetail.productdetails.get(0).psid)) {
                        mCartDetail mCartDetail = Utility.mCartList.get(mcategoryProductDetail.productdetails.get(0).psid);

                        mCartDetail.addQuantity--;
                        mCartDetail.totalprice = Float.parseFloat(mCartDetail.categoryProductDetail.our_price) * mCartDetail.addQuantity;

                        holder1.tvProductCounter.setText(String.valueOf(mCartDetail.addQuantity));
                        if (mCartDetail.addQuantity == 0) {
                            Utility.mCartList.remove(mCartDetail.categoryProductDetail.psid);
                            notifyDataSetChanged();
                        }


                }
            });

及以下是我的模型类和数据存储和发送到服务器的

的hashmap
public static HashMap<String, CartDetail> mCartList;
public CartDetail mCartDetail;

希望这个概念能够帮助您在您的场景中实施