如何将活动中的值传递给kotlin中的另一个活动

大家早上好,

正如我正在学习Kotlin的Android开发,我现在正在尝试像Hello world这样的基本程序,以及如何从一个活动导航到另一个活动,这里没有问题

我的担心是当我从一个活动转移到另一个活动,它工作正常,但我不知道如何传递活动之间的值

我厌倦了在一个活动中设置值,并在另一个活动中检索到它不起作用

请参阅下面的代码片段

这是我的主要活动,我从编辑文本中将用户名和密码设置为意图

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

}

这是我的第二个活动,我必须从主要活动接收价值

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

}

请指导我如何做到这一点,如果我有其他的方式来做到这一点kotlin,如果不是故意的

先谢谢你

我在移动,你必须自己测试。

尝试在MainActivityCharSequence一个String ,您已经放置了一个CharSequence而不是一个String ,例如:

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

您可以简单地使用intents和bundle将数据从一个活动发送到另一个活动。

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

在Kotlin中,只需使用Intents即可传递数据。 您可以直接将数据置于意图中,也可以将这些数据写入捆绑包,然后使用该意向将该捆绑包发送给其他活动。

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