私はフードオーダーアプリを作っています。私のメインページにはMenuActivity
というフルページListView
があり、それを押すとButton
があり、それはCartActivity
ページを意図しています。アクティビティ間でデータを同期させる
私は呼び出されたメソッドを持って0
の初期値と各食物の量を維持するために、食品及びamount
の量を調整するために、食品名のアレイfood
、食物画像のimgID
、butPlus
butMinus
を有しますaddAmount
,をMenuAcitivity
に増やすと、量が減少します。このクラスの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]);
}
}
}
はまた、私はちょうどMenuActivity
のように量を減らし、増加しますCartAcitivity
でminusAmount
をaddAmount
と呼ばれる方法があります。 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);
}
私の問題が..です
私は0からCartActivity
でamount
を減少させ、私はそれが正しく0を言うMenuActivity
に戻って行きましたが、
CartActivity
に再びアプリのクラッシュを切り替えた場合限界を超えていると言っている。
これを手伝ってください、またはこれを行うにはより良い方法がありますか教えてください。ありがとうございました
お返事ありがとうございます。私はそれが今働いた:) – Triniel