Recycler List项的总和值

时间:2016-03-19 09:54:29

标签: android button android-recyclerview

我需要获得购物车产品的总价值。在这里我使用的是Recyclerview& Bean类获取& amp;设置listview项目。我试图得到。但是在点击递增/递减按钮时,获取值不是正确的值。

考虑我的购物车商品价值是否为Rs 100 / - &初始购物车数量为1。

当我点击增量按钮时,我得到了 200, 500, 900

当我点击减量按钮时,我得到了, 600, 400, 300

这是我的代码。请检查一下。

适配器类:

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

                public void onClick(View arg0) {
                    if (null != mListener) {
                        cartRes.get(position).CartCount = (bigInt + 1);
                        notifyItemChanged(position);
                        mListener.onListFragmentInteraction(holder.cartRess);
                    }
                    getIncreaseTotal();
                }
            });

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

                public void onClick(View arg0) {
                    if (null != mListener) {
                        cartRes.get(position).CartCount = (bigInt - 1);
                        notifyItemChanged(position);
                        mListener.onListFragmentInteraction(holder.cartRess);

                    }
                    getDecreaseTotal();
                }
            });


  private void getDecreaseTotal() {
        for (int i = 0; i < cartRes.size() ; i++)
        {
            CartRes cartBasket = cartRes.get(i);
            System.out.println(cartBasket);
            totalPrice = cartBasket.getQuantity() * cartBasket.getPrice();
            sum -= totalPrice;
            Log.e("Total Sum", String.valueOf(sum));
        }
    }

    public void getIncreaseTotal() {
        for (int i = 0; i < cartRes.size() ; i++)
        {
            CartRes cartBasket = cartRes.get(i);
            System.out.println(cartBasket);
            totalPrice = cartBasket.getQuantity() * cartBasket.getPrice();
            sum += totalPrice;
            Log.e("Total Sum", String.valueOf(sum));
        }
    }

BeanClass:

public class CartRes {
    public String CartcategoryName;
    public String CartproductName;
    public String product_id;
    public int CartPrice;
    public int CartCount;
    private int Quantity;

    public CartRes(String product_idd, String productName, String categoryName, int cartCount, int cartPrice) {
        this.product_id = product_idd;
        this.CartproductName = productName;
        this.CartcategoryName = categoryName;
        this.CartCount = cartCount;
        this.CartPrice = cartPrice;
    }

    public CartRes() {
    }

    public int getPrice() {
        return CartPrice;
    }

    public int getQuantity() {
        return CartCount;
    }
}

1 个答案:

答案 0 :(得分:0)

您的问题可能出现在您的身上 totalPrice = cartBasket.getQuantity() * cartBasket.getPrice();声明。

例如,如果您的购物车中有1件产品的价格为200且数量也是1.那么您的total = 200。然后您将其数量从1更改为2.您的操作是添加+1到你的数量,所以数量变成2.然后你将它的价格200与数量2相乘所以你认为这里错了因为你已经在你的“和”变量中为1个数量添加了200个。你只需要乘以它1个数量,然后将其添加到您的“总和”变量中。我认为在您的渐变方法中也会发生同样的情况。