Android Kotlin comienza una nueva actividad

Quiero comenzar otra actividad en Android pero obtengo este error:

Por favor especifique la invocación del constructor; clasificador 'Página2' no tiene un object complementario

después de instanciar la class Intent . ¿Qué debo hacer para corregir el error? Mi código:

 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } fun buTestUpdateText2 (view: View) { val changePage = Intent(this, Page2) // Error: "Please specify constructor invocation; // classifier 'Page2' does not have a companion object" startActivity(changePage) } } 

Para iniciar una Activity en Java, escribimos Intent(this, Page2.class) , básicamente tienes que definir el Context en el primer parámetro y la class de destino en el segundo parámetro. De acuerdo con el método de Intent en el código fuente –

  public Intent(Context packageContext, Class<?> cls) 

Como puede ver, tenemos que pasar el tipo Class<?> En el segundo parámetro.

Al escribir Intent(this, Page2) nunca especificamos que vamos a pasar la class, estamos tratando de pasar el tipo de class que no es aceptable.

Use ::class.java que es una alternativa de .class en kotlin. Usa el código a continuación para comenzar tu Activity

 Intent(this, Page2::class.java) 

Puedes probar esto,

 val intent = Intent(this, SecondActivity::class.java) intent.putExtra("key", value) startActivity(intent) 

Prueba esto

 val intent = Intent(this, Page2::class.java) startActivity(intent) 

Esto se debe a que su class Page2 no tiene un object complementario que sea similar a la static en Java, para usar su class. Para aprobar su class como argumento para Intent , tendrá que hacer algo como esto

 val changePage = Intent(this, Page2::class.java) 
  • Kotlin - paraCada
  • ¿Cómo convierto un Int en una cadena en Kotlin?
  • Cómo especificar "propio tipo" como tipo de devolución en Kotlin
  • ¿Convierte un tipo que admite nulos a su tipo que no admite nulos?
  • ¿Cómo usar los methods Spring Data JPA que devuelven un Stream en un bloque try-with-resources en Kotlin?
  • Array / List iteration sin asignaciones de objects adicionales
  • Spring Boot: cambio de significado de marcador de position de propiedad
  • Cómo implementar el repository de interfaz en otro module de proyecto en AndroidStudio usando Dagger2 y Kotlin
  • WeakReference no funciona en Kotlin
  • Android con cambio de date y hora, pero nuevamente a time, Firebase solo devuelve el token caducado
  • Kotlin - ¿Utilidad de las properties var "computadas"?