首页 > 解决方案 > Intent.getStringExtra() 在 Kotlin Android 中返回 null

问题描述

我不知道我在做什么错误,为什么它返回 null,我看到其他人的问题我没有得到我真正需要的东西。我在这个活动中发送字符串数据

            val inspenctionIntent = Intent(this, InspectActivity::class.java)
            inspenctionIntent.putExtra("Particulars", estimateItem.Particulars)
            inspenctionIntent.putExtra("SSRItemNO", estimateItem.SSRItemNO)
            inspenctionIntent.putExtra("Quantity", estimateItem.Quantity)
            inspenctionIntent.putExtra("QuantityUnit", estimateItem.QuantityUnit)
            inspenctionIntent.putExtra("Times", estimateItem.Times)
            inspenctionIntent.putExtra("Rates", estimateItem.Rates)
            inspenctionIntent.putExtra("RatesPer", estimateItem.RatesPer)
            inspenctionIntent.putExtra("Total", estimateItem.Total)
            startActivity(Intent(this@CheckMeasurementActivity, InspectActivity::class.java))

并试图在另一个活动中额外获取该字符串但返回 null?

    val Particulars = intent.getStringExtra("Particulars")
    val SSRItemNO = intent.getStringExtra("SSRItemNO")
    val Quantity = intent.getStringExtra("Quantity")
    val QuantityUnit = intent.getStringExtra("QuantityUnit")
    val Times = intent.getStringExtra("Times")
    val Rates = intent.getStringExtra("Rates")
    val RatesPer = intent.getStringExtra("RatesPer")
    val Total = intent.getStringExtra("Total")

我尝试通过替换 var 也仍然返回 null?

标签: androidkotlinandroid-intent

解决方案


你的错误是这一行。

startActivity(Intent(this@CheckMeasurementActivity, InspectActivity::class.java))

您声明inspenctionIntent但从不使用它,因此其他活动将一无所获,因为您的意图不会向它发送任何内容。

所以你需要改变

startActivity(Intent(this@CheckMeasurementActivity, InspectActivity::class.java))

startActivity(inspenctionIntent)

推荐阅读