SetOnClickListener en un ViewHolder en Kotlin Adapter

Estoy tratando de escribir mi primer adaptador personalizado RecyclerView en Kotlin. Cada View es bastante simple, es una vista de CardView con image + nombre en él.

Estoy enfrentando dos problemas:

ERROR 1: fun bindItems me da error cuando bash lo siguiente para asignar el nombre:

 // THIS DOES GIVE ME ERROR, IT MARKS txvW_recycItem_userName IN RED itemView.txvW_recycItem_userName = user.name // HOWEVER THIS WORKS val tvw_name = itemView.findViewById(R.id.txvW_recycItem_userName) as TextView tvw_name.text = user.name 

ERROR 2 – onBindViewHolder no me permite agregar un oyente como este:

 holder.bindItems(user[position]) holder.setOnClickListener{ //do whatever } 

Y aquí está el código completo para el adaptador:

  class CustomRecyclerAdapter(var user : ArrayList<Users>) : RecyclerView.Adapter<CustomRecyclerAdapter.MyViewHolder>(){ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomRecyclerAdapter.MyViewHolder { val v = LayoutInflater.from(parent.context).inflate(R.layout.recycler_item, parent, false) return MyViewHolder(v) } override fun onBindViewHolder(holder: MyViewHolder, position: Int){ holder.bindItems(user[position]) } override fun getItemCount() = user.size class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bindItems(user : Users){ // HERE IT IS THE LINE DESCRIBED ON ERROR 1 //itemView.txvW_recycItem_userName = user.name val image = itemView.findViewById(R.id.imgvW_mainPic) as ImageView val tvw_name = itemView.findViewById(R.id.txvW_recycItem_userName) as TextView tvw_name.text = user.name image.setImageResource(user.image) } } } 

—-> EDIT <—-

No estoy seguro si esa es una respuesta para mi ERROR 2 pero … lo siguiente parece estar funcionando:

 holder.itemView.setOnClickListener({ // do something here })