1

我正在尝试修改以下代码以满足我的简单应用程序需求。由于我是初学者,因此对于专业人士来说,有时很难得到一些明显的东西。我想得到 sum += p.price; 退出循环,因为当我第二次单击按钮时,结果会加倍。我知道 : 是条件运算符,但无法理解该语句的含义(产品 p:boxAdapter.getBox())。可能如果有人会解释或转移到do..虽然它会很容易理解。

public void showResult(View v) {

    String result = "Items in the basket: ";
    String sum_text = "For the sum: ";

    for (Product p : boxAdapter.getBox()) {

        if (p.box) {
            result += "\n" + p.name + "   " + p.price;
        }

        sum += p.price;

    }

    Toast.makeText(this, result, Toast.LENGTH_LONG).show();
    Toast.makeText(this, sum_text + sum, Toast.LENGTH_LONG).show();
}

对不起,打扰了简单的问题。

4

2 回答 2

1
for (Product p : boxAdapter.getBox())

这个循环会遍历Product类型的boxAdapter.getBox()集合,将每个实例存入p,转换成简单的for循环,改成这样:

for(int i=0; i<boxAdapter.getBox().size(); i++)
{
    Product p=boxAdapter.getBox().get(i);
}
于 2012-10-25T12:52:43.383 回答
0

for (Product p : boxAdapter.getBox())意味着您遍历结果中的每个 Product 对象boxAdapter.getBox()

例如,如果boxAdapter.getBox()返回一个包含 2 个 Product 对象的列表,您的循环将执行 2 次,第一次p是列表中的第一项,第二次是列表中的第二项。

于 2012-10-25T12:51:08.647 回答