Как изменить цвет фона выбранного элемента в RecyclerView - PullRequest
0 голосов
/ 02 июля 2019

Я создал мобильное приложение Kotlin.В моем приложении я использую RecyclerView с адаптером.Я хочу изменить цвет фона элемента, по которому щелкнули, в моем RecyclerView, и когда я щелкну по другому элементу, цвет изменится, и цвет первого нажатого элемента вернется к цвету по умолчанию.

override fun onBindViewHolder(holder: ViewHolder, position: Int) { 
       val itemCategory: ProductCategoryData = categories[position] 
       holder.categoryId.text = itemCategory.id.toString() 

       println(holder.categoryId.text) 
       println(itemCategory.name?.get("En").toString()) 
       holder.categoryName.text = itemCategory.name?.get("En").toString() 
      ............ 
       holder.itemView.setOnClickListener { 
           rowindex = position 
           mListener?.onItemClick(holder.itemView, categories[position]) 
       } 
       if (rowindex == position) { 
           holder.itemView.setBackgroundColor(Color.parseColor("#FED07A")) 
       } else { 
           holder.itemView.setBackgroundColor(Color.parseColor("#ffffff")) 
       } 

   }

Что я должен изменить в своем коде, чтобы он заработал

1 Ответ

0 голосов
/ 02 июля 2019

Вызов notifyDataSetChanged

holder.itemView.setOnClickListener { 
   rowindex = position 
   mListener?.onItemClick(holder.itemView, categories[position])
   notifyDataSetChanged()          
} 

if (rowindex == position) {            
    holder.itemView.setBackgroundColor(Color.parseColor("#FED07A")) 
} else { 
    holder.itemView.setBackgroundColor(Color.parseColor("#ffffff")) 
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...