Я хочу получить общее количество из базы данных Firebase. Я могу добиться следующего с помощью SingleEventListener. Я хочу добиться того же, используя ChildEventListener. Я получаю информацию о продукте из MainFragment, а затем передаю его функции в моей ViewModel, а затем через LiveData передаю его в MainFragment. Я хочу добиться следующего, используя ChildEventListener, ниже приведен код, который необходимо преобразовать.
fun fetchtotal(productname: String) {
var totaladd: Int = 0
var totalsub: Int = 0
var totalyadd: Int = 0
var totalysub: Int = 0
var totaly: Int = 0
dbadd.child(productname).addListenerForSingleValueEvent(object : ValueEventListener {
override fun onCancelled(error: DatabaseError) {}
override fun onDataChange(snapshot: DataSnapshot) {
if (snapshot.exists()) {
for (total in snapshot.children) {
val good = total.getValue(AddModel::class.java)
if (good?.add!!) {
totaladd = good.quanitity!!.toInt()
totalyadd += totaladd
} else {
totalsub = good.quanitity!!.toInt()
totalysub += totalsub
}
totaly = totalyadd - totalysub
}
}
_total.value = totaly
}
})
}
Спасибо за вашу помощь.