Android 如何通过intent将字符串值从一个活动发送到另一个活动?
如何将用户在StartActivity的editText中输入的值发送到第二个活动的textView3?我基本上是在StartActivity中询问用户的姓名,然后在第二个活动中打印您的姓名 我确实尝试使用,然后在第二个活动中,它显示null我该怎么做 星触觉::Android 如何通过intent将字符串值从一个活动发送到另一个活动?,android,android-studio,kotlin,Android,Android Studio,Kotlin,如何将用户在StartActivity的editText中输入的值发送到第二个活动的textView3?我基本上是在StartActivity中询问用户的姓名,然后在第二个活动中打印您的姓名 我确实尝试使用,然后在第二个活动中,它显示null我该怎么做 星触觉:: button.setOnClickListener { val name = editText.text.toString() val intent2 = Intent (this,
button.setOnClickListener
{
val name = editText.text.toString()
val intent2 = Intent (this, SecondActivity::class.java)
intent.putExtra("name", name)
startActivity(intent2)
}
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
val name2 = intent.getStringExtra("name")
textView3.text = name2
}
第二项活动:
button.setOnClickListener
{
val name = editText.text.toString()
val intent2 = Intent (this, SecondActivity::class.java)
intent.putExtra("name", name)
startActivity(intent2)
}
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
val name2 = intent.getStringExtra("name")
textView3.text = name2
}
错误是它打印的您的姓名为空。请在此处输入代码这看起来像是Kotlin帮您输入的打字错误。您正在启动的意图的名称是intent2,但您正在将名称字符串添加到intent。这是可能的,因为Kotlin允许您访问getIntent的结果,即用于启动当前活动的Intent对象,就像它是一个属性一样 将此行更改为使用intent2,它应全部开始工作:
intent2.putExtra("name", name)
将intent.putExtraname,name更改为intent2.putExtraname,name
注意:当您的范围中没有变量意图时。Kotlin扩展从getIntent获取intent值,这是您以前的意图。这就是您错过编译错误的原因。更改为val intent2=Intent this,SecondActivity::class.java intent2.putExtraname,name startActivityintent2