如何使用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 } }` 

2 Solutions collect form web for “如何使用kotlin显示在recyclerview中选择的单个项目”

  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 
  • 使用参数化函数实现接口
  • 什么是Kotlin意图的概念?
  • 如何将字符串的某些字符与Kotlin中的HashMap 的值交换?
  • Kotlin和Java String之间的差异与正则expression式分割
  • Try-Catch Block不可达? 有一个内部try-finally块导致外部try-catch块无法访问?
  • Kotlin函数参考
  • 没有任何==对象
  • 错误:执行任务':app:compileDebugKotlin'失败。 >编译错误。 查看日志了解更多详情
  • Spring Security多个成功的认证提供商
  • 如何将Kotlin列表拆成子列表?
  • 为什么Kotlin不支持“三元操作符”
  • Kotlin language will be the best programming language for Android.