从firebase加载帖子

时间:2019-06-11 07:09:17

标签: android firebase firebase-realtime-database

我正在研究与fire base连接的应用程序,该应用程序从db检索数据,得到错误的未解决参考数据Homefrag.kt文件中的快照,并且非常精确  //从firebase加载帖子     有趣的LoadPostFromFireBase(){...}

  

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

好玩的LoadPostFromFireBase(){

    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!

1 个答案:

答案 0 :(得分:0)

您正在寻找不存在的东西。查看onDataChange函数通过其参数提供的功能。 我不知道Kotlin,但是我很确定您在语法上肯定会在onDataChange内收到“ p0”,但是您正在寻找对象dataSnapshot。

您可以通过替换来解决

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

使用

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