Выполните следующие шаги для достижения этого
Шаг - 1: Измените конструктор ElementsAdapter
для получения Activity
экземпляра, как показано ниже:
class ElementsAdapter(private val context: Context, private val stations: List<Stations>) : RecyclerView.Adapter<ElementsAdapter.ViewHolder>() {
....
}
Шаг - 2: Создание функции обратного вызова в MainActivity
для изменения цвета кнопки
class MainActivity : AppCompatActivity() {
....
fun updateButtonColor(hexColor: String) {
// update button's color here
}
}
и передача экземпляра действия во время создания адаптера
adapter = ElementsAdapter(this@MainActivity, stations)
Шаг - 3: Внутри onBindViewHolder
OnClickListener
вызовите updateButtonColor
действия с соответствующим HEX_COLOR
holder.view.setOnClickListener{
val curValue = holder.adapterPosition
val selectedValue = stations[curValue].name
//something should be done here to change button's color
(context as MainActivity).updateButtonColor(HEX_COLOR)
}