Kotlin Android start new Activity

To start an Activity in java we wrote Intent(this, Page2.class), basically you have to define Context in first parameter and destination class in second parameter. According to Intent method in source code –

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

As you can see we have to pass Class<?> type in second parameter.

By writing Intent(this, Page2) we never specify we are going to pass class, we are trying to pass class type which is not acceptable.

Use ::class.java which is alternative of .class in kotlin. Use below code to start your Activity

Intent(this, Page2::class.java)

Example –

// start your activity by passing the intent
startActivity(Intent(this, Page2::class.java).apply {
    // you can add values(if any) to pass to the next class or avoid using `.apply`
    putExtra("keyIdentifier", value)
})

Leave a Comment