xxxxxxxxxx
val intent = Intent(this,HelloActivity::class.java)
startActivity(intent)
Why do we need to add .java in the end? Isn't HelloActivity a .kt file?
ts because you are calling Java Code from the Kotlin as Intent is a Java
Class in Android which accepts .class reference as mentioned below.
Intent(Context packageContext, Class cls) Kotlin class reference is not
the same as a Java class reference. To obtain a Java class reference, use
the .java property on a KClass instance as SampleActivity::class returns
KClass which is Kotlin class not a java class. So you cannot pass Kotlin
class reference to Java (Intent in your case) and so you have to pass Java
class reference
xxxxxxxxxx
// Sending intent to OtherActivity
val intent = Intent(this, OtherActivity::class.java)
intent.putExtra("keyString", "Any String Value")
startActivity(intent)
----------------------------------------
// Recieve intent in OtherActivity
val string: String? = intent.getStringExtra("keyString") // "i" will be small in
// word "intent"
xxxxxxxxxx
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn"
android:text="Search"
android:onClick="search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText" />
</androidx.constraintlayout.widget.ConstraintLayout>