Как передать значения из активности в другую деятельность в котлин

Всем доброе утро,

Поскольку я изучаю Kotlin для разработки Android, теперь я пытаюсь использовать базовые программы, такие как мир приветствия и как перемещаться из одной активности в другую, нет проблем в этом

Моя забота – когда я перехожу от одного вида деятельности к другому, он отлично работает, но я не знаю, как передавать значения между действиями

Я устал задавать значения в одном действии и извлекаться в другом действии, он не работает

См. Фрагмент кода ниже

Это моя основная деятельность, когда я беру имя пользователя и пароль из текста редактирования и установки на намерение

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); } } 

}

Это мой второй вид деятельности, когда мне нужно получать значения из основного вида деятельности

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") } 

}

Прошу, пожалуйста, как это сделать, будь то если у меня есть другой способ сделать это в котлине, если не по желанию

заранее спасибо

Я нахожусь на мобильном телефоне, вы должны протестировать сами.

Попробуйте сделать CharSequence String в MainActivity , вы поставили CharSequence а не String , например:

 var userName = username.text.toString() var password = password_field.text.toString() 

Вы можете просто использовать намерения и пакет для передачи данных из одной активности в другую.

 val intent = Intent(this@OneActivity,TwoActivity::class.java); intent.putExtra("username", userName) startActivity(intent); 

В Котлине вы можете передавать данные просто с помощью намерений. Вы можете напрямую помещать свои данные в намерение, или вы можете записать эти данные в пакет и отправить этот пакет другому действию, используя намерение.

 val intent = Intent(this@HomeActivity,ProfileActivity::class.java); intent.putExtra("profileName", "John Doe") var b = Bundle() b.putBoolean("isActive", true) intent.putExtras(b) startActivity(intent); 
Intereting Posts