Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何通过intent将字符串值从一个活动发送到另一个活动?_Android_Android Studio_Kotlin - Fatal编程技术网

Android 如何通过intent将字符串值从一个活动发送到另一个活动?

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,

如何将用户在StartActivity的editText中输入的值发送到第二个活动的textView3?我基本上是在StartActivity中询问用户的姓名,然后在第二个活动中打印您的姓名

我确实尝试使用,然后在第二个活动中,它显示null我该怎么做

星触觉::

    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