android - 增加一个整数变量?

标签 android global-variables

在 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/

相关文章:

android - Eclipse 首选项显示 android 选项卡两次

java - 在 android 中设置 TextView 的可见性不起作用

module - XQuery:跨(导入)模块共享全局变量

Angular : Global variable not changing inside Subscription function

android - 为什么使用AndroidX时嵌套的PreferenceScreen打不开?

java - 如何在 REST 客户端中发出发送行列表的请求 -Android

android - 切换 AdMob 帐户以更改国家/地区的步骤

可从多个对象实例写入的 C++ 全局变量

iphone - 单例类iPhone

oop - 类成员变量不和全局变量一样糟糕吗?