Android - 使用for循环对用户输入的edittext数字求和

时间:2017-09-12 09:57:39

标签: java android arraylist

我的情况如下图所示:User enters quantity to cart on Add To Cart button

每次用户将商品添加到购物车时,我都希望将数量存储在arraylist(或列表)中,并在ITEMS textview上显示数量。如果用户添加了另一个项目,那么arraylist(一个具有第一个数量)应该增加第二个数量并在ITEMS textview中显示总和,基本上计算所添加数量的总和。

所以,我尝试使用for循环,

String quantity_temp = String.valueOf(quantityPicker_Npkr.getText().toString());
int quantity = Integer.parseInt(quantity_temp);    


int total = 0;
//declare and initialize an arraylist;

for (int i = 1; i < //declaredArralist.size(); i++) {

    total = total + quantity;
    itemNo_txt.setText("  " + total);
 }

我遇到的挑战是上面的for loop不一致,在一个例子中,它正确地添加,然后在下一个中,它以不同的方式递增。我该怎么做呢。

要温柔,我是新手。我的代码不完美

2 个答案:

答案 0 :(得分:2)

希望这能解决您的问题。您可能希望在循环后设置文本。

ArrayList<Integer> quantityList = new ArrayList<Integer>();

//This code has to repeat each time the customer enters an item to a card.
//Use it inside a loop or in case of a button click event, run this code.

String quantity_temp = String.valueOf(quantityPicker_Npkr.getText().toString());
int quantity = Integer.parseInt(quantity_temp);
quantityList.add(quantity);

//End of repeating code

//For the display total part
int total = 0;

for (int i = 0; i < quantityList.size(); i++) {
   total = total + quantity;       
}

itemNo_txt.setText("  " + total);

答案 1 :(得分:0)

您可以为此

创建ArrayList
ArrayList<YourItemClass> items = new ArrayList<YourItemClass>();

items.add(new YourItemClass(...));
items.add(new YourItemClass(...));

并检索可以迭代的数据

for (YourItemClass item : items) {
   //use your item to display
}

如果您只想使用String,那么YourItemClass可以像这样

ArrayList<String> items = new ArrayList<String>();

items.add(new String(...));
items.add(new String(...));

并检索可以迭代的字符串

for (String item : items) {
   //use your item string to display
}