As I'm learning Kotlin for Android development, I'm now trying the basic programs like hello world and how to navigate from one activity to another activity, there is no issue with this.
When I move from one activity to another, it works fine, but I do not know how to pass the values between the activities.
I tried to set the values in one activity and retrieved them in another activity it does not work.
Please see the code snippet below
This is my main activity where I take the username and password from edit text and setting to the intent:
class MainActivity : AppCompatActivity() { val userName = null val password = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { val intent = Intent(this@MainActivity,SecondActivity::class.java); var userName = username.textø var password = password_field.text intent.putExtra("Username", userName) intent.putExtra("Password", password) startActivity(intent); } } }
This is my second activity where I have to receive values from the main activity
class SecondActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_second) var strUser: String = intent.getStringExtra("Username") var strPassword: String = intent.getStringExtra("Password") user_name.setText("Seelan") passwor_print.setText("Seelan") } }
Please guide me on how to do this, whether I have some other way to do this in Kotlin if not by intent.
Using Intents This example demonstrate about How to send data from one activity to another in Android using intent. Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project. Step 2 − Add the following code to res/layout/activity_main. xml.
putExtra() method is used for send the data, data in key-value pair key is variable name and value can be Int, String, Float etc. getStringExtra() method is for getting the data(key) which is send by above method. according the data type of value there are other methods like getIntExtra(), getFloatExtra()
Send value from HomeActivity
val intent = Intent(this@HomeActivity,ProfileActivity::class.java) intent.putExtra("Username","John Doe") startActivity(intent)
Get values in ProfileActivity
val profileName=intent.getStringExtra("Username")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With