===main activity===
package com.example.sendingdataactivityapp
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
val b1 = findViewById<Button>(R.id.button)
val et1 = findViewById<EditText>(R.id.editTextText)
val et2 = findViewById<EditText>(R.id.editTextText2)
val etFirstName = findViewById<EditText>(R.id.editTextFirstName)
val etLastName = findViewById<EditText>(R.id.editTextLastName)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v,
insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right,
systemBars.bottom)
insets
}
b1.setOnClickListener {
val n1 = et1.text.toString().toInt()
val n2 = et2.text.toString().toInt()
val sum = n1 + n2
val firstName = etFirstName.text.toString()
val lastName = etLastName.text.toString()
val intent = Intent(applicationContext, SecondActivity::class.java)
val bundle = Bundle()
bundle.putInt("number1", n1)
bundle.putInt("number2", n2)
bundle.putInt("sum", sum)
bundle.putString("firstName", firstName)
bundle.putString("lastName", lastName)
intent.putExtras(bundle)
startActivityForResult(intent, 100)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
{
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == RESULT_OK) {
if (requestCode == 100) {
val thankYouMsg = data?.extras?.getString("msg").toString()
Toast.makeText(applicationContext, thankYouMsg,
Toast.LENGTH_LONG).show()
}
}
}
}
=====2nd activity===
package com.example.sendingdataactivityapp
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_second)
val b1 = findViewById<Button>(R.id.button2)
val tv1 = findViewById<TextView>(R.id.textView2)
val et1 = findViewById<EditText>(R.id.editTextText3)
val tvFirstName = findViewById<TextView>(R.id.textViewFirstName)
val tvLastName = findViewById<TextView>(R.id.textViewLastName)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.mains)) { v,
insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right,
systemBars.bottom)
insets
}
val bundle = intent.extras
val number1 = bundle?.getInt("number1", 0) ?: 0
val number2 = bundle?.getInt("number2", 0) ?: 0
val sum = bundle?.getInt("sum", 0) ?: 0
val firstName = bundle?.getString("firstName") ?: ""
val lastName = bundle?.getString("lastName") ?: ""
tv1.text = "Sum: $sum"
tvFirstName.text = "First Name: $firstName"
tvLastName.text = "Last Name: $lastName"
b1.setOnClickListener {
val thankYouMsg = et1.text.toString()
val replyIntent = Intent()
val replyBundle = Bundle()
replyBundle.putString("msg", thankYouMsg)
replyIntent.putExtras(replyBundle)
setResult(RESULT_OK, replyIntent) // successful flag
finish() // return
}
}
}