intent.getStringExtra() returns 空

intent.getStringExtra() returns null

我正在尝试将数据 class 对象发送到另一个 activity 对象,但它返回了空值,所以我尝试发送简单的字符串,但它仍然是 returns 空值,我找不到问题是什么。这是我的代码

LoginScreen.kt

中的代码
val intentUser = Intent(this@LoginScreen,HomeActivity::class.java)
val string = "intent"
intentUser.putExtra("intent",string)
startActivity(intentUser)
finish()

并在我的 HomeActivity 中编写代码

val intentUser = Intent()
var string = intentUser.getStringExtra("intent")
Log.e("Intent: ",string.toString())

结果

2022-02-23 14:25:09.139 11365-11365/com.scibilisim.d_forceandroid E/Intent:: null

HomeActivity 中,您正在将意图初始化为

intent = Intent()

这实际上是用一个新的 Intent 对象来初始化 Intent。那不是期望的行为,要实现期望的行为,请使用 getIntent() 而不是 Intent()

请在您的 LoginScreen.kt:

中试试这个
val intentUser = Intent(this@LoginScreen,HomeActivity::class.java)
val string = "intent"
intentUser.putString("intent",string)
startActivity(intentUser)
this.finish()

在你的 HomeActivity:

val string = intent!!.getStringExtra("intent")

错误是您正在实例化一个新的 Intent 对象。