Android 从firebase装载立柱

Android 从firebase装载立柱,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在处理与fire base连接的应用程序,该应用程序从db中检索数据。我在Homefrag.kt文件中获取了错误未解决的引用dataSnapshot,在 //从firebase装载立柱 fun LoadPostFromFireBase{…} 清理项目=>重建=>使缓存无效 来自Firebase的趣味加载Post{ myRef.child("posts") .addValueEventListener(object : ValueEventListener {

我正在处理与fire base连接的应用程序,该应用程序从db中检索数据。我在Homefrag.kt文件中获取了错误未解决的引用dataSnapshot,在 //从firebase装载立柱 fun LoadPostFromFireBase{…}

清理项目=>重建=>使缓存无效

来自Firebase的趣味加载Post{

    myRef.child("posts")
            .addValueEventListener(object : ValueEventListener {

                override fun onDataChange(p0: DataSnapshot  ) {

                    try {

                        listOfPost.clear()
                        listOfPost.add(Post("0","him","url"," ","add","addPost"))

                        var td= dataSnapshot!!.value as HashMap<String,Any>

                        for(key in td.keys){

                            var post= td[key] as HashMap<String,Any>

                            listOfPost.add(Post(key,
                                    post["postText"] as String,
                                    post["postImageURL"] as String
                                    ,post["postDate"] as String
                                    ,post["personName"] as String
                                    ,post["personID"] as String))


                        }


                        adapter!!.notifyDataSetChanged()
                    }catch (ex:Exception){}


                }

                override fun onCancelled(p0: DatabaseError) {

                }
            })
}

获取未解析的dataSnapshot!

您正在查找不存在的内容。请查看onDataChange函数通过其参数为您提供的内容。 我不知道Kotlin,但我非常确定,通过查看您的语法,您在onDataChange中接收到p0,但您正在查找对象dataSnapshot

你可以通过替换来修复它

var td= dataSnapshot!!.value as HashMap<String,Any>

var td= p0!!.value as HashMap<String,Any>