我正在研究与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!
答案 0 :(得分:0)
您正在寻找不存在的东西。查看onDataChange函数通过其参数提供的功能。 我不知道Kotlin,但是我很确定您在语法上肯定会在onDataChange内收到“ p0”,但是您正在寻找对象dataSnapshot。
您可以通过替换来解决
var td= dataSnapshot!!.value as HashMap<String,Any>
使用
var td= p0!!.value as HashMap<String,Any>