在Kotlin的活动之间发送信息

时间:2018-04-21 12:59:06

标签: android android-intent kotlin

    fun kullaniciOlustur2(view: View){
        val intent = Intent(applicationContext,KullaniciOlustur2::class.java)

        intent.putExtra("input",makeUsername.text.toString())
        intent.putExtra("input2",makeUserphone.text.toString())
        startActivity(intent)
    }

Mainactivity2从这里开始..在此之前,我正在使用

val intent = intent 
val received: String = intent.getStringExtra("input")   
makeUsername.text = received 

但这种方法不再适用。 我尝试使用getIntent()但无法获得任何内容

   val intent = getIntent()

3 个答案:

答案 0 :(得分:1)

我建议使用Kotlin Anko,有很多方法可以帮助你删除这个样板代码

检查Anko Intents here

答案 1 :(得分:1)

试试此代码

  

活动1

val intent = Intent(FirstActivity.this,SecondActivity::class.java) //not application context
intent.putExtra("input",makeUsername.text.toString())
intent.putExtra("input2",makeUserphone.text.toString())
startActivity(intent)
  

活动2

在onCreate()方法中使用

val stringOne = getIntent().getStringExtra("input")

或者更清洁的方式是

val extras = getIntent().getExtras()
if (null != extras) {
    val value = extras.getString("input")
    //The key argument here must match that used in the other activity
}

请在Java中查看类似的答案,您可以在另一个答案中获得已经告知的here

我还使用Anko删除了这种样板代码

答案 2 :(得分:0)

使用以下代码:    代码与Java相同。区别是kotlin没有  1.最后没有分号。   2.调用另一个活动kotlin使用::

ex.KotlinActivity :: class.java

startActivity(Intent(this, KotlinActivity::class.java).putExtra("DataTrasfer", ""))

获取价值:

intent.getStringExtra("DataTrasfer")