如何将活动中的值传递给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,如果不是故意的
先谢谢你
我在移动,你必须自己测试。
尝试在MainActivity
为CharSequence
一个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);