gpt4 book ai didi

java - 遍历列表后得到一个总和

转载 作者:行者123 更新时间:2023-11-29 08:34:07 25 4
gpt4 key购买 nike

我通过使用 for 循环遍历来计算列表中的价格总和,但它也会返回列表中的总价。如果您不明白,这是我尝试循环遍历列表的代码。

  public class CartAdapter extends ArrayAdapter<Cart> {

private Activity context;
private List<Cart> carts;

public CartAdapter(@NonNull Activity context, ArrayList<Cart> carts) {
super(context, R.layout.cart_list_item, carts);
this.carts = carts;
this.context = context;
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {

LayoutInflater inflater = context.getLayoutInflater();

View cartViewItems = inflater.inflate(R.layout.cart_list_item, null, false);

TextView textViewName = cartViewItems.findViewById(R.id.cart_item);
TextView textViewPrice = cartViewItems.findViewById(R.id.cart_price);
ImageView imageViewCart = cartViewItems.findViewById(R.id.cart_img);

Cart cart = carts.get(position);
textViewName.setText(cart.getName());
textViewPrice.setText(String.valueOf(cart.getPrice()));
Picasso.with(context).load(cart.getImg()).into(imageViewCart);

countCart(textViewPrice);

return cartViewItems;
}

public double countCart(TextView textViewPrice){
double sum = 0.0;
for (int i = 0; i < carts.size(); i++) {
sum = sum + Double.parseDouble(textViewPrice.getText().toString());
}
System.out.println("Count Price: " + sum);

return sum;
}

目前我的列表大小有 2 个项目,这是它的输出。

08-10 09:38:15.771 6285-6285/com.zack.tinga.applicationtest I/System.out: Count Price: 23.98

08-10 09:38:15.790 6285-6285/com.zack.tinga.applicationtest I/System.out: Count Price: 23.98

价格是正确的,但问题是它使用列表的大小返回总和。我怎样才能让它在遍历列表后只返回一个总和。例如如果列表的大小是 15,那么它将在输出中打印 15 次总和,应该只打印一次。

这是应用程序的屏幕截图:

app screen shot

所以它应该显示单个总数,而不是 list.size();是目前的倍数。

最佳答案

您可以尝试使用 boolean 来检查它是否已经打印在 not 上。

首先在你的类中声明一个变量:

private boolean isPrinted = false;

然后在您的 getView 方法中检查如下:

 if(!isPrinted)
{
countCart(textViewPrice);
isPrinted = true;
}

这将使该语句只运行一次,并且不会根据列表的大小运行。

关于java - 遍历列表后得到一个总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45607645/

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