variable de reference de kotlin no resuelta

Soy nuevo en kotlin. Estoy usando el siguiente código en mi adaptador:

class TravelListAdapter(private var context: Context) : RecyclerView.Adapter<TravelListAdapter.MyViewHolder>() { lateinit var onClickListener: TravelListAdapterListener lateinit var holderView: View interface TravelListAdapterListener { fun onClickListener(v: View, position: Int) } class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { private lateinit var txtLabel: TextView fun MyViewHolder(view: View) { holderView = view // holderView shows error // in line below, holderView and onClickListener shows error holderView.setOnClickListener( View.OnClickListener { v -> onClickListener.onClickListener(v, adapterPosition) } ) } } ... ... } 

Las variables onClickListener y holderView se han declarado en la class Adapter, pero dan este error cuando holderView a ellas en otra class (que se define dentro de la class Adapter):

Referencia no resuelta: nombre_variable

¿Alguien puede decirme qué estoy haciendo mal?

En Kotlin, puede acceder directamente al miembro de la class externa desde la class anidada.

Para acceder a los miembros de la class externa, debes hacer que tu class sea de class interna como se muestra en el fragment de abajo.

 class OuterClass{ var name="john" inner class InnerClass{ //.... } } 

Entonces, aquí necesitas definir tu class MyViewHolder class interna MyViewHolder

También puede verificar lo mismo en este enlace https://stackoverflow.com/a/46730214/4083237

Anidados clasificados no tienen acceso a los miembros de la class exterior .

Haga de su MyViewHolder una class inner .

Lea más aquí https://kotlinlang.org/docs/reference/nested-classes.html

  • ¿Cómo diseñar para networkingucir las classs networkingundantes en Kotlin?
  • Función de extensión estática en una class de Java
  • Kotlin, JPA y @Transient
  • Interfaz anidada en Kotlin
  • Carga concurrente de files S3 a través de Koutlin Coroutines
  • RXJava ... emiten un observable cada segundo
  • ¿Kotlin o Swift pueden analizar JSON como Javascript?
  • Constructor de class de datos con dos constructores diferentes en Kotlin
  • Las properties vinculadas no funcionan
  • ¿Es un val de instancia más costoso que el object compañero val?
  • Crear MediaPlayer dentro de for loop