Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.5K
Vistas
Android Studio y Kotlin: referencia no resuelta: contexto

He intentado cientos de formas de resolver este problema de referencia:

 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setSupportActionBar(toolbar) val dm = DataManager() val adapterCourses = ArrayAdapter<CourseInfo>(context: this, android.R.layout)

pero en ArrayAdapter<CourseInfo>(context: this, android.R.layout) obtengo una referencia no resuelta: context y no tengo idea de por qué.

Versión de Android Studio: 3.3.2 Versión de Kotlin: 1.3.21

¿Alguien podría ayudarme?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Recibí un mensaje de error similar porque no importé el Context . Si no ha importado Context explícitamente, intente agregar esto a su lista de importación cerca del inicio de su archivo de Activity :

 import android.content.Context
over 4 years ago · Santiago Trujillo Denunciar

0

La columna en Kotlin se usa para algunas cosas, pero no cuando se pasan argumentos con nombre. La sintaxis para pasar un parámetro con nombre es parameterName = parameterValue .

Cuando escribe context = this , mientras pasa un parámetro, simplemente se está refiriendo al context del parámetro de la función que está llamando, diciendo explícitamente que this tiene que corresponder a ese parámetro de context . Esto no es muy útil en este caso a menos que quieras ser muy explícito.

La utilidad de usar argumentos con nombre surge cuando se trata de parámetros opcionales o cuando se pasan los parámetros fuera de orden.
P.ej

 // DECLARATION of function abc fun abc(s: String = "", i: Int = 0) // USAGE of function abc passing only an Int abc(i = 314)

La función abc tiene dos parámetros y tienen un valor predeterminado. En este caso, puede evitar pasar cualquier parámetro si está de acuerdo con los valores predeterminados. Pero si solo desea pasar i , puede hacerlo especificando su nombre, como se hizo en el ejemplo.

Del mismo modo, puede optar por pasar parámetros fuera de orden, en ese caso, hará lo siguiente:

 abc(i = 314, s = "something")
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda