如何使用kotlin显示在recyclerview中选择的单个项目

我们如何使用kotlin标记在Recyclerview选择的单个项目。 当我选择一个项目,然后点击其他项目,那么以前选择的项目应该被取消选择。这里是我的适配器类在kotlin:..

  class ListAdapter(var context: Context, var list: ArrayList) : RecyclerView.Adapter() { 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为全局的intvariables

试试这个: – 在你的ListModel类中取一个variables

 var selected:boolean = false 

然后在设置listModel项目时将此值设置为false

 for(int i=0;i 

当您从列表中选择任何项目时,请调用此方法,然后为选定位置设置selected = true,并刷新适配器列表。

在你的适配器中检查这个选定的值,并相应地在你的bindItems方法中设置checkbox的值

  itemView.checkBox.selected = items.selected//this will set your checkbox selected value