gpt4 book ai didi

java - 在 Activity 之间同步数组中的数据

转载 作者:行者123 更新时间:2023-11-29 02:35:17 24 4
gpt4 key购买 nike

<分区>

我正在制作一个订餐应用。在我的主页上有一个完整的 ListView 叫做 MenuActivity 并且有一个 Button 当我按下它时,它会返回 CartActivity 页面。

我有数组 food 用于食物名称,imgID 用于食物图像,butPlus butMinus 用于调整数量食物的数量和数量,以保持每种食物的数量初始值为0。

我有一个名为 addAmount 的方法,MenuAcitivity 中的 minusAmount 会增加、减少数量。它由此类的 Adapter 调用。

public static void addAmount(int position) {
amount[position] += 1;
}

转到 CartActivity,我用它来传递我的所有值。

public void goToCart(MenuItem menuItem) {
Intent in = new Intent(MenuActivity.this, CartActivity.class);
in.putExtra("list", amount);
in.putExtra("imgID", imgID);
in.putExtra("nameList", food);
startActivity(in);
}

为了接收值,我在 CartActivity 中创建了新的 ArrayList 以获取数量不为零的食物数据。

        // add components to array lists
// addList, removeList are methods to add,remove in my new ArrayList created in this class
for (int i = 0; i < amountList.length; i++) {
if (amountList[i] != 0) {
if (!foodListFinal.contains(foodList[i]))
addList(amountList[i], foodList[i], imgID[i]);
} else if (amountList[i] == 0 && !foodListFinal.isEmpty()) {
if (foodListFinal.contains(foodList[i])) {
index = foodListFinal.indexOf(foodList[i]);
removeList(amountList[index], foodList[index], imgID[index]);
}
}
}

此外,我在 CartAcitivity 中有一个名为 addAmount 的方法,minusAmount 会像在 中一样增加、减少数量菜单 Activity 。它由此类的适配器调用,该适配器与 MenuActivity 不同。

public static void addAmount(int position) {
int newAmount = (amountListFinal.get(position)) + 1;
amountListFinal.set(position, newAmount);
}

public static void minusAmount(int position) {
int newAmount = (amountListFinal.get(position)) - 1;
amountListFinal.set(position, newAmount);
}

这是我的问题..

当我将 CartActivity 中的 amount 减少到 0 并返回到 MenuActivity 时,它正确地显示为 0,但是如果我切换到 CartActivity 应用再次崩溃,并显示索引超出范围的错误。

请帮我解决这个问题,或者有更好的方法可以做到这一点,请赐教。谢谢

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com