Как показать один элемент, выбранный в recyclerview, используя kotlin

Как мы можем отметить, что один элемент выбран в Recyclerview с помощью kotlin. Когда я выбираю элемент и после этого нажимаю на другой элемент, тогда выбранный выше элемент следует отменить. Вот мой класс адаптера в котлине: ..

  class ListAdapter(var context: Context, var list: ArrayList<ListModel>) : RecyclerView.Adapter<ListAdapter.MyViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): MyViewHolder { val v = LayoutInflater.from(parent?.context).inflate(R.layout.list_item, parent, false) return MyViewHolder(v) } override fun getItemCount(): Int { return list.size } override fun onBindViewHolder(holder: MyViewHolder?, position: Int) { holder?.bindItems(list[position]) } class MyViewHolder(view: View) : RecyclerView.ViewHolder(view){ fun bindItems(items: ListModel) { itemView.txt_que.text = items.que itemView.txt_ans.text = items.ans itemView.txt_sr_no.text = items.srNo } }` 

  if (mPosition == position) { //set selected here } else { //set unselected here } holder.parentView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mPosition = position; notifyDataSetChanged(); } }); 

Напишите выше код в onBindViewholder и объявите mPosition как глобальную переменную int в классе адаптера

Попробуйте: – возьмите одну переменную в свой класс ListModel, как

 var selected:boolean = false 

то при установке элементов спискаModel установите это значение как false как

 for(int i=0;i<listModel.size;i++){ listModel.get(i).selected = false }//this is for setting all values false 

когда вы выберете любой элемент из списка, вызовите этот метод, а затем установите selected = true для выбранной позиции и просто обновите список адаптеров.

в вашем адаптере проверьте это выбранное значение и, соответственно, установите значение флажка внутри вашего метода bindItems

  itemView.checkBox.selected = items.selected//this will set your checkbox selected value 
Intereting Posts
Android: Kotlin с выпуском модуля активности кинжала Почему компилятор Kotlin требует явного инициализатора свойства var? Как использовать «Функциональное определение компонента Kotlin DSL» с Spring Boot и Spring WebFlux? Как добавить тестовые переопределения в график зависимостей по умолчанию? Сообщение Firebase, полученное несколько раз ошибка в аннотациях kotlin? Приложение Android на Gradle: невозможно слить dex Как объявить значение массива в аннотациях Kotlin? ImageButton OnClickListener не работает Котлин, умный литье невозможно из-за сложного выражения Найти свойства с нулевым значением через отражение Ошибка компиляции Котлина: ни одна из следующих функций не может быть вызвана с предоставленными аргументами Инструментальные тесты не могут выполняться в библиотечных модулях Android с файлами Kotlin Написание реагирует на родной модуль Android в Котлине? Kotlin Ошибки Runtime для базовых операторов