在 Android 编程中满足特定条件后,我在递增整数变量时遇到问题。为什么不增加?
下面的代码是在 ImageButton 上实现的,该 ImageButton 属于一个名为 Product 的类(Activity)。
int count = 1;
List<Item> prod = ShoppingCart.getInstance().getProducts();
// if arraylist is null --> add a product
if(prod != null && prod.isEmpty()){
ShoppingCart.getInstance().addItem(new Item(
namePureString,
manufacturePureString,
pricePureString,
"",
count
));
Toast.makeText(getApplicationContext(), namePureString + " Added To Cart", Toast.LENGTH_SHORT).show();
}else {
for (Item products : ShoppingCart.getInstance().myProducts) {
// here i am checking if the product exists, if it does --> count has to increment
if (products.getManufacture().equals(manufacturePureString)) {
count += count;
Toast.makeText(getApplicationContext(), "You Added This Product\nQuantity Will Increase",
Toast.LENGTH_SHORT).show();
ShoppingCart.getInstance().setItemExists(new Item(
namePureString,
manufacturePureString,
pricePureString,
"",
count
));
} else {
ShoppingCart.getInstance().addItem(new Item(
namePureString,
manufacturePureString,
pricePureString,
"",
count
));
}
}
这是我的 Singleton 类,我在其中调用它的方法:
public class ShoppingCart {
private static final String TAG = "Products: ";
private static ShoppingCart ourInstance = null;
public ArrayList<Item> myProducts = new ArrayList<>();
private ShoppingCart() {
}
public static ShoppingCart getInstance() {
// if object instance does not exist create a new one and use that one only
if ( ourInstance == null){
ourInstance = new ShoppingCart();
}
return ourInstance;
}
public void addItem(Item item){
ourInstance.myProducts.add(item);
}
public void setItemExists(Item item) {
int itemIndex = ourInstance.myProducts.indexOf(item);
if (itemIndex != -1) {
ourInstance.myProducts.set(itemIndex, item);
}
}
public List<Item> getProducts(){
return this.myProducts;
}
}
最佳答案
count++ 与代码中的 count = count + 1 相同,而不是 count += count 。 Count += count 在 count 值的基础上添加 count 数量。
所以要增加这个:
计数 = 计数 + 1;
//或者
计数++;
关于android - 增加一个整数变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47511439/