我希望当我的 ViewHolder 项目被点击时我的“心”图标会改变。幸运的是,它做到了这一点。但是,由于多个项目似乎复制了按钮单击,因此出现了问题。
我的意思是:如果我在第 1 项上点击心脏。列表中的其他项目复制也会改变心脏。为什么会发生这种情况,什么是潜在的解决方法?当我引用 ViewHolder 项目时,我很困惑为什么会出现这个问题。因此,它不应该只影响我点击的项目吗?
查看持有人
fun bind(item: Location) {
heart.setOnClickListener {
item.fav = item.fav != true
heart.setImageDrawable(
when (item.fav) {
false -> (ContextCompat.getDrawable(itemView.context, R.drawable.ic_border_heart))
else -> (ContextCompat.getDrawable(itemView.context, R.drawable.ic_whole_heart))
})
}
}