我需要获得购物车产品的总价值。在这里我使用的是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;
}
}
答案 0 :(得分:0)
您的问题可能出现在您的身上
totalPrice = cartBasket.getQuantity() * cartBasket.getPrice();
声明。
例如,如果您的购物车中有1件产品的价格为200且数量也是1.那么您的total = 200
。然后您将其数量从1更改为2.您的操作是添加+1到你的数量,所以数量变成2.然后你将它的价格200与数量2相乘所以你认为这里错了因为你已经在你的“和”变量中为1个数量添加了200个。你只需要乘以它1个数量,然后将其添加到您的“总和”变量中。我认为在您的渐变方法中也会发生同样的情况。