gpt4 book ai didi

android - Kotlin/Android Studio-如何将变量从替代乐趣传递到应用程序的其余部分?

转载 作者:行者123 更新时间:2023-12-02 12:51:34 25 4
gpt4 key购买 nike

我四处张望,没有找到解决我问题的好方法。在我的应用程序上,我有一个计时器。该计时器在点击时停止,我想根据剩余时间计算得分。我可以使用“millisUntilFinished”来计算分数,但是无法在我的应用中重用score变量。您能以正确/最佳的方式帮助我吗?下面是我的代码:

var score: Long

val timer = object : CountDownTimer(20000, 1000) {
override fun onTick(millisUntilFinished: Long) {
timer.setText("" + millisUntilFinished / 1000)
score = millisUntilFinished / 1000
}
override fun onFinish() {
timer.setText("0");
}
}
timer.start()

当我稍后尝试在应用程序中使用它时,出现“必须初始化变量'score'。”我已经尝试了很多事情,但是每次我最终都无法重用在覆盖乐趣中初始化的变量时。

谢谢你的帮助 !

最佳答案

您可以将其定义为lateinit var或将其初始化。

lateinit var score: Long

val timer = object : CountDownTimer(20000, 1000) {
override fun onTick(millisUntilFinished: Long) {
timer.setText("" + millisUntilFinished / 1000)
score = millisUntilFinished / 1000
}
override fun onFinish() {
timer.setText("0");
}
}
timer.start()

请注意, lateinit在类中定义,而不是在函数中定义。
或者您可以使用以下命令:
var score=0.toLong()

val timer = object : CountDownTimer(20000, 1000) {
override fun onTick(millisUntilFinished: Long) {
timer.setText("" + millisUntilFinished / 1000)
score = millisUntilFinished / 1000
}
override fun onFinish() {
timer.setText("0");
}
}
timer.start()

关于android - Kotlin/Android Studio-如何将变量从替代乐趣传递到应用程序的其余部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60926467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com