FirebaseRecyclerAdapter – populateViewHolder不访问数据

我试图从我的实时数据库显示一些数据到一个回收适配器没有运气。 我已经使FirebaseRecyclerAdapter在另一个活动(java)上工作,但在这一个上它不起作用(kotlin)。 奇怪的是,如果我使用ValueEventListener,数据返回就好了,但是FirebaseRecyclerAdapter不起作用。

类:

class FriendsActivity : AppCompatActivity() { private lateinit var friendsDb: DatabaseReference private var currentUser: FirebaseUser? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_friends) supportActionBar?.title = "Friends" friends_main_rec.layoutManager = LinearLayoutManager(this) friends_main_rec.setHasFixedSize(true) currentUser = FirebaseAuth.getInstance().currentUser friendsDb = FirebaseDatabase.getInstance().reference.child("FRIENDS") .child(currentUser!!.uid) val friendsRecyclerViewAdapter = object : FirebaseRecyclerAdapter( Friends::class.java, R.layout.friend_single, FriendsViewHolder::class.java, friendsDb) { override fun populateViewHolder(viewHolder: FriendsViewHolder, model: Friends, position: Int) { Log.d("FriendsList", model.toString()) viewHolder.setDate(model.date) } } friends_main_rec.adapter = friendsRecyclerViewAdapter } class FriendsViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun setDate(date: String) { itemView.friend_single_date.text = date Log.d("FriendsList", date) } } 

POJO:

 data class Friends(var date: String) 

在这里输入图像说明

代码似乎对我来说很好,但显然这是不正确的。

这条线似乎有一些问题

 friendsDb = FirebaseDatabase.getInstance().reference.child("FRIENDS") .child(currentUser!!.uid) 

在这里,它将从“FRIENDS / currentUser.uid”获得价值,这是“

  • NBHxxxxxxxxxxxxxxxON2
  • it3xxxxxxxxxxxxxxxfj1

不能从这里直接访问 date对象,因为日期在freind用户标识下