這是我試過的代碼。它只顯示當前用戶的帖子這里是 firebase 資料庫的影像來描述我正在嘗試做的事情:

我不介意答案是否也出現在 java 代碼中。感謝您的幫助。
private fun retrievePosts() {
progressBar!!.visibility = View.VISIBLE
val postsRef = FirebaseDatabase.getInstance().reference.child("Catalog").child(uid!!)
postsRef.addValueEventListener(object : ValueEventListener {
override fun onDataChange(p0: DataSnapshot) {
(postList as ArrayList<ModelPost>).clear()
for (snapshot in p0.children) {
val post = snapshot.getValue(ModelPost::class.java)
for (id in (followingList as ArrayList<String>)) {
if (post!!.getUid() == id) {
(postList as ArrayList<ModelPost>).add(post!!)
progressBar!!.visibility = View.GONE
}
adapterPost!!.notifyDataSetChanged()
}
}
}
override fun onCancelled(p0: DatabaseError) {
progressBar!!.visibility = View.GONE
}
})
}
uj5u.com熱心網友回復:
您只是使用以下命令從資料庫中讀取當前用戶的帖子:val postsRef = FirebaseDatabase.getInstance().reference.child("Catalog").child(uid!!)。
要讀取所有用戶的帖子,您應該初始化val postsRef = FirebaseDatabase.getInstance().reference.child("Catalog"),然后在您的onDataChange.
所以像:
val postsRef = FirebaseDatabase.getInstance().reference.child("Catalog")
postsRef.addValueEventListener(object : ValueEventListener {
override fun onDataChange(p0: DataSnapshot) {
(postList as ArrayList<ModelPost>).clear()
for (userSnapshot in p0.children) {
for (snapshot in userSnapshot.children) {
val post = snapshot.getValue(ModelPost::class.java)
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/375816.html
