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