Как преобразовать следующий код, чтобы мгновенно получать обновления в Firebase - PullRequest
0 голосов
/ 20 апреля 2020

Я хочу получить общее количество из базы данных 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
            }

        })
    }

Спасибо за вашу помощь.

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