У меня есть 10 таких элементов в recyclerview. Моя проблема заключается в том, что когда я нажимаю на один элемент, я меняю цвет фона, но по какой-то причине другой элемент также меняет цвет фона. Я не знаю, почему это происходит.
Например, если я щелкну первый элемент и изменю цвет, элемент в позиции 8 также изменит свой цвет. Я хочу, чтобы элемент, на который я нажимаю, изменил свой цвет.
Это мой код:
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val titulo = holder.itemView.findViewById(R.id.txt_categoria) as TextView
titulo.text = categories[position].name_category!!
holder.itemView.setOnClickListener{
when{
textView == null ->{
textView = holder.itemView.txt_categoria
textView!!.setBackgroundResource(R.drawable.design_categories_project)
textView!!.setTextColor(Color.WHITE)
fragmentProyectos.filterProjects(categories[position].id_categorie!!,
categories[position].name_category!!)
}
posClicked != position ->{
holder.itemView.txt_categoria.setBackgroundResource(R.drawable.design_categories_project)
holder.itemView.txt_categoria.setTextColor(Color.WHITE)
textView!!.setBackgroundResource(R.drawable.design_categories_project_white)
textView!!.setTextColor((Color.parseColor("#343434")))
textView = holder.itemView.txt_categoria
fragmentProyectos.filterProjects(categories[position].id_categorie!!,
categories[position].name_category!!)
}
else ->{
textView!!.setBackgroundResource(R.drawable.design_categories_project_white)
textView!!.setTextColor((Color.parseColor("#343434")))
textView = null
fragmentProyectos.getData()
}
}
posClicked = position
}
}