gpt4 book ai didi

android - FirebaseRecyclerAdapter - populateViewHolder 不访问数据

转载 作者:行者123 更新时间:2023-11-29 02:33:47 26 4
gpt4 key购买 nike

我试图将我的实时数据库中的一些数据显示到回收器适配器中,但没有成功。我已经让 FirebaseRecyclerAdapter 在另一个 Activity (java) 上工作,但在这个 Activity 上它不起作用 (kotlin)。奇怪的是,如果我使用 ValueEventListener,数据返回得很好,但 FirebaseRecyclerAdapter 不起作用。

类(class):

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, FriendsViewHolder>(
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)

enter image description here

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

最佳答案

这行好像有问题

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

这里将从"FRIENDS/currentUser.uid"获取值,这是

  • NBHxxxxxxxxxxxxxxxON2
  • it3xxxxxxxxxxxxxxxfj1

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

关于android - FirebaseRecyclerAdapter - populateViewHolder 不访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48171768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com