在使用 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
}
}`
Run Code Online (Sandbox Code Playgroud)
小智 2
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();
}
});
Run Code Online (Sandbox Code Playgroud)
在 onBindViewholder 中编写上述代码,并在适配器类中将 mPosition 声明为全局 int 变量
| 归档时间: |
|
| 查看次数: |
8944 次 |
| 最近记录: |