Intent.getStringExtra () возвращает ноль в Kotlin Android - PullRequest
0 голосов
/ 02 марта 2020

Я не знаю, какую ошибку я делаю, почему она возвращает ноль, я видел проблемы других людей, я не получаю именно то, что мне нужно. Я отправляю строковые данные в этом упражнении

            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))

и пытаюсь получить эту строку дополнительно в другом упражнении, но возвращает ноль?

    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?

Ответы [ 4 ]

3 голосов
/ 02 марта 2020

Ваша ошибка в этой строке.

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

Вы объявляете inspenctionIntent, но никогда не используете его, поэтому другие действия ничего не получат, так как ваше намерение ничего не отправит на него.

Итак, вы необходимо изменить

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

на

startActivity(inspenctionIntent)
2 голосов
/ 02 марта 2020

Вы начали с неправильного намерения, поэтому следует использовать inspenctionIntent внутри startActivity()

       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(inspenctionIntent)
0 голосов
/ 02 марта 2020

Просто измените это -:

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

на -:

startActivity(inspenctionIntent)

в последней строке вашего кода ...

0 голосов
/ 02 марта 2020

Вы должны написать

Intent.putExtra("Particulars", estimateItem.Particulars)

Вместо

 inspenctionIntent.putExtra("Particulars", estimateItem.Particulars)

, а для других то же самое.

...