当我在学习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);
}
}
}
这是我的第二个活动,我必须从主活动接收值
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")
}
}
请指导我如何做到这一点,如果不是故意的话,我是否有其他方法在Kotlin做到这一点。
8条答案
按热度按时间yizd12fk1#
从主页活动发送值
获取
ProfileActivity
中的值ercv8c1e2#
我在移动的上,你自己测吧。
尝试在
MainActivity
中将CharSequence
转换为String
,您放入的是CharSequence
而不是String
,例如:nwlqm0z13#
在Kotlin中,您只需使用Intent即可传递数据,也可以直接将数据放入Intent中,或者将这些数据写入bundle中,然后使用Intent将该bundle发送到另一个Activity。
ctrmrzij4#
您可以简单地使用Intent和bundle将数据从一个Activity发送到另一个Activity。
bqjvbblv5#
pdkcd3nj6#
首先你应该这样做,
添加Anko从属关系。
在
MainActivity()
内部传递的信息类似于从
SecondActivity()
得到信息是,nhhxz33t7#
您可以直接访问值,而无需使用extras或intent。只需使用MainActivity中的配套对象:
在第二个活动中:
您可以轻松访问多个活动的值。
wyyhbhjk8#
接收数据