gpt4 book ai didi

java - 如何计算RecyclerView中总项目的总和?

转载 作者:行者123 更新时间:2023-12-02 06:07:42 25 4
gpt4 key购买 nike

我想计算所有项目的总和并将其显示在 Toast 中,如何计算它们?

这是我的 onBindViewHolder

    @Override
public void onBindViewHolder(@NonNull ViewHolder_chart viewHolder_chart, int i) {

viewHolder_chart.p_name_CHART_tv.setText(_chartdata.get(i).getName_prdct()); // set name of product
//Replace these two methods
viewHolder_chart.p_price_CHART_tv.setText(_chartdata.get(i).getPrice_prdct()); // set quantity
viewHolder_chart.p_quantity_Chart_tv.setText(_chartdata.get(i).getUnit_prdct()); // set price
////////////////////////////////
viewHolder_chart.p_totalITem_CHART_tv.setText(_chartdata.get(i).getTotal_quantity());

Log.d("Adapter_chart","bitmap="+_chartdata.get(i).getImage_prdct());
viewHolder_chart.p_img_CHART.setImageBitmap(_chartdata.get(i).getImage_prdct());



total += _chartdata.get(i).getPrice_prdct();

if(i==_chartdata.size()-1){//check if list last element
//show your total count view here---- and add total amount

Toast.makeText(context, "t="+total, Toast.LENGTH_SHORT).show();
}

}

最佳答案

首先从 onBindViewHolder 中删除以下行:

 total += _chartdata.get(i).getPrice_prdct();

因为 onBindViewHolder 会在每次滚动时调用并尝试恢复 View 位置,所以我们不能在这里执行此类操作,例如产品总和或数量等,

public int getMyTotalQuantity(){
int totalQuantity = 0;
for(int i=0; i<_chartdata.size(); i++){
if(_chartdata.get(i) != null && _chartdata.get(i).getTotal_quantity() != null &&
!TextUtils.isEmpty(_chartdata.get(i).getTotal_quantity())){
totalQuantity = totalQuantity + Integer.parseInt(_chartdata.get(i).getTotal_quantity());
}
return totalQuantity;
}

如果你想最后显示数量总和的 View ,那么你可以按照上面的方法声明方法,然后在 onBindViewHolder 中使用它,如下所示:

if(i==_chartdata.size()-1){//check if list last element

// to get total quantity
Toast.makeText(context, "total quantity = " + getMyTotalQuantity(), Toast.LENGTH_SHORT).show();

}

您可以创建相同的方法来获取金额总和并在绑定(bind) View 持有者中使用它。

关于java - 如何计算RecyclerView中总项目的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55931515/

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