【发布时间】:2021-09-08 23:21:04
【问题描述】:
//In MainActivity
binding.doneButton.setOnClickListener {
checkValid()
if (valid){
val bmi: Double = calculateBmi().round(1)
val bmr: Double = calculateBmr().round(2)
Intent(this, DailyActivity::class.java).also{
intent.putExtra("EXTRA_BMI", bmi)
intent.putExtra("EXTRA_BMR", bmr)
startActivity(it)
}
}
}
//In DailyActivity
var bmi = intent.getDoubleExtra("EXTRA_BMI", 0.0)
var bmr = intent.getDoubleExtra("EXTRA_BMR", 0.0)
我想将这两个 Double 值 bmi 和 bmr 从我的 MainActivity 传递给 DailyActivity。我检查了这些值,它们在 MainActivity 中运行良好。但是当我尝试将它们传递给 DailyActivity 时,会使用默认值 0.0。我也尝试过 intent?.extras?.getDouble("EXTRA_BMI") ,但这也不起作用。我该如何解决这个问题?
(顺便说一句,round 是我在 SO 上找到的扩展功能。它工作正常。这不是代码不工作的原因)
【问题讨论】:
-
你好,你试过另一个这个:
(intent.extras?.get("EXTRA_BMI") as? Double) ?: 0.0
标签: android kotlin android-intent android-activity