在我的项目中,我有一个包含适配器和片段类的recyclerview。一切都按预期工作,我正在尝试对特定的列值求和并将其显示在文本字段中。我尝试了以下总方法,但无法正常工作。任何帮助表示赞赏。
使用的语言
Kotlin
使用的代码
适配器类
override fun onBindViewHolder(holder: ViewHolder, position: Int)
{
holder.bindcar(list[position],fragment)
}
fun bindcar(Test: TestCart?, fragment: TestFragment)=with(carView)
{
TestName.text=Test?.carName
TestQuantity.text= Test?.carQuantity.toString()
TestPrice.text= Test?.carPrice!!.toString()
}
片段
for (c in carList!!.iterator())
{
val car=TestCart()
//var carPrice=0
car.carName=c.carName
car.carQuantity=c.carQuantity
car.carPrice=c.carPrice
// car.carPrice= c.carPrice!! +Price
carListcars!!.add(car)
}
adapter!!.notifyDataSetChanged()
}
期望
Total CarPrice in the Recycler View.
答案 0 :(得分:0)
您可以使用Kotlin List的sumBy方法来做到这一点。
在您的片段类中添加以下代码
for (c in carList!!.iterator())
{
val car=TestCart()
//var carPrice=0
car.carName=c.carName
car.carQuantity=c.carQuantity
car.carPrice=c.carPrice
// car.carPrice= c.carPrice!! +Price
carListcars!!.add(car)
}
adapter!!.notifyDataSetChanged()
// sumby code
var totalAmount: Int = carListcars.sumBy{ it.carPrice }
// setting your textView
TestPrice.text = totalAmount.toString()
}