Share Data Between Activities

Here’s a step-by-step guide:


✅ Steps to Share Data Between Activities in Kotlin

1. Create the First Activity (Sender)

This activity will send data to another activity.

// MainActivity.kt
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.Button
import android.widget.EditText

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val editText = findViewById<EditText>(R.id.editTextName)
        val button = findViewById<Button>(R.id.buttonSend)

        button.setOnClickListener {
            val name = editText.text.toString()

            // Create intent
            val intent = Intent(this, SecondActivity::class.java)

            // Put data into intent
            intent.putExtra("USERNAME", name)

            // Start second activity
            startActivity(intent)
        }
    }
}

2. Create the Second Activity (Receiver)

This activity will receive the data.

// SecondActivity.kt
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.TextView

class SecondActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)

        val textView = findViewById<TextView>(R.id.textViewName)

        // Get data from intent
        val name = intent.getStringExtra("USERNAME")

        // Show the data
        textView.text = "Hello, $name!"
    }
}

3. Update AndroidManifest.xml

Register the second activity:

<activity android:name=".SecondActivity"></activity>

4. Example Layouts

📌 activity_main.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <EditText
        android:id="@+id/editTextName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter your name"/>

    <Button
        android:id="@+id/buttonSend"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Send to Next Activity"/>
</LinearLayout>

📌 activity_second.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/textViewName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Received Data"
        android:textSize="18sp"/>
</LinearLayout>


Leave a Comment

Your email address will not be published. Required fields are marked *