我正在使用 FirestorePagingAdapter 从 firestore 加载数据并将它们显示在 recyclerView 中。我得到该项目并将其绑定到视图。
override fun onBindViewHolder(holder: MyViewHolder, position: Int, model: Question) {
holder.bind(model)
}
fun bind(question: Question) {
//here I load questionData in my viewholder
}
我在viewHolder中将onClickListener设置为textViews,我的问题模型最多有5个选项显示在我的viewHolder中,所以当用户按下一个时,我想将数据更新到模型
override fun onClick(v: View) {
val pressedQuestion = getItem(adapterPosition)?.toObject(Question::class.java)
}
在 clickListener 中,我通过调用 getItem 和 toObject 得到了紧迫的问题。那里我想更新字段pressedQuestion.questionId = "answered"
但是当这个视图滚动到屏幕上而不是返回到屏幕数据似乎没有改变时,即使我将 questionId 字段设置为“已回答”,它仍然保持不变。我尝试调用每个版本的 notifyDatasetChanged 方法,但它不起作用。如何从 onClickListener 内部更改 FirestorePagingAdapter 在我的 viewHolder 中加载的数据