【发布时间】:2019-01-31 09:18:42
【问题描述】:
我正在尝试将数据从 Firebase 加载到 RecyclerView,我需要将数据从 Firebase 获取到 ArrayList 但我收到以下错误:
com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type com.example.Model.perizinan
这是我的班级:
class perizinan(val imageUrl:String, val namakegiatan:String, val keterangan:String, val waktuKegiatan:String, val presensiIzin:String, val tanggalkegiatan:String)
class izin(val perizinan:List<perizinan>)
这是我的代码:
fun readFirebaseDatabase(){
val ref= FirebaseDatabase.getInstance().getReference("Admin")
ref.addValueEventListener(object: ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
Log.e("AdminActivity","cancelled")
}
override fun onDataChange(p0: DataSnapshot) {
val uid = FirebaseAuth.getInstance().uid
p0.child(uid!!).children.forEach{
it.children.forEach{
val posts = ArrayList<perizinan>()
for (snapshot in it.children) {
val post = snapshot.getValue(perizinan::class.java)
posts.add(post!!)
}
RecyclerViewAdmin.layoutManager = LinearLayoutManager(this@AdminActivity)
RecyclerViewAdmin.adapter = adminAdapter(izin(posts), this@AdminActivity)
}
}
}
})
}
下面是我的数据库结构:
【问题讨论】:
-
Admin节点下的第一个uid是登录用户的uid,第二个和第三个是什么的id? -
第二个uid来自消息的发送者,第三个是消息uid,这就像聊天应用程序
-
所以你想在登录的用户 id 或消息 uid 下获取所有帖子?在第一种情况下,这只是一个。
-
请在消息 uid 下
标签: firebase kotlin android-recyclerview