【发布时间】:2022-01-04 21:55:34
【问题描述】:
我正在使用 kotlin 在 Android Studio 中构建一个应用,
该应用程序是一个测验应用程序,最后会根据结果显示文本。
我想知道,将值(我猜是意图)从第一个活动移动到最后一个活动的最平滑方法是什么,并在途中对其进行调整。以及如何使用此值来调整结果活动上显示的字符串?
我正在考虑为所有结果创建字符串并将它们命名为 result100、result200、result300 等。然后有一个根据答案而变化的变量,例如:
buttonParty.setOnClickListener{
desNumber = 100
val intent = Intent(this, ResultPageActivity::class.java)
intent.putExtra("EXTRA_DES", desNumber)
startActivity(intent)
}
检索它:
val desNumber = intent.getIntExtra("EXTRA_DES", 100)
比上次活动:
resultText.setText = findViewById(R.string.result$desNumber)
但不幸的是,这似乎不起作用。
提前感谢您的帮助!
【问题讨论】:
-
我建议您遵循“单一活动”架构,这样您就可以将 ViewModel 中的任何全局变量保留在您的活动范围内,并通过在各自的片段中执行
val activityModel by activityViewModels()来读取它们Fragments。请参考 Android 团队 youtube.com/watch?v=2k8x8V77CrU 的此视频并查找“MVVM”和“Jetpack Navigation”。祝你好运!