Добавление RecyclerView Всего товаров - PullRequest
0 голосов
/ 06 января 2019

В моем проекте у меня есть просмотрщик, который содержит класс адаптера и фрагмента. Все работает, как ожидалось, и я пытаюсь суммировать значение определенного столбца и отображать его в текстовом поле. Я попытался ниже общего метода, но это не работает. Любая помощь приветствуется.

Используемый язык

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()
    }

Expectation

Total CarPrice in the Recycler View.

1 Ответ

0 голосов
/ 06 января 2019

Вы можете использовать метод sumBy из списка Kotlin List для этого.

Внутри вашего класса фрагмента добавьте следующий код

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()


    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...