如何从DataSnapshot将数据获取到LiveData <List <Model >>

时间:2019-09-27 13:30:39

标签: android kotlin firebase-realtime-database mvvm data-binding

我正在尝试从Firebase DataSnapshot加载数据,但是尝试此操作时我没有收到任何数据:

override fun onActive() {
    super.onActive()

    FirebaseDatabase.getInstance()
        .getReference("/users")
        .addListenerForSingleValueEvent(object : ValueEventListener {

            override fun onCancelled(databaseError: DatabaseError) {
                Log.d("UserRepository","databaseError ${databaseError.message}")
            }

            override fun onDataChange(dataSnapshot: DataSnapshot) {
                if (dataSnapshot.exists()) {
                    value = dataSnapshot.children
                }
            }

        })
}

但是使用上面的代码,我在dataSnapshot中没有收到任何数据

1 个答案:

答案 0 :(得分:-1)

DataSnapshot具有getChildren(),其中包含数据快照实例,您需要做的就是使用for循环,以便能够访问所有DataSnapshot实例以获取{{1} },方法是使用YourModelClass。然后将它们添加到模型列表中

getValue()