布尔值在 Kotlin 中变成整数 904
Boolean turns into int number 904 in Kotlin
我正在为我在大学的项目开发一个测验应用程序,我试图在数据 class 中保存说明答案是否正确的按钮和布尔值,并将所有按钮保存在一个临时列表,以便稍后我可以为所有这些列表添加 onclick 侦听器。但是当我试图访问布尔值时,它变成了数字 904。这是我关于这些按钮的代码。
val ansBtnList: MutableList<ButtonDataClass> = mutableListOf()
--------------------------------------------------------------
val ans = ButtonDataClass(Button(this), quizToShow.getValue(planets[0]).answers[i].isRight)
--------------------------------------------------------------
ansBtnList.add(ans)
--------------------------------------------------------------
for (i in 0..3) {
ansBtnList[i].btn.setOnClickListener { Log.d(null, ansBtnList[i].btn.right.toString()) }
}
提前致谢!
编辑:ButtonDataClass 代码:
data class ButtonDataClass (var btn: Button, var right: Boolean)
这不是您认为的 right
。 btn
是按钮。该按钮有一个 right
字段,该字段与其在屏幕上的坐标相关。您应该改为尝试 ansBtnList[i].right.toString()
。
btn.right 引用 Button
class 的 right
变量,而不是 ButtonDataClass
中的变量
替换:ansBtnList[i].btn.setOnClickListener { Log.d(null, ansBtnList[i].btn.right.toString()) }
与:ansBtnList[i].btn.setOnClickListener { Log.d("your_tag_id", ansBtnList[i].right) }
您当然没有访问正确的字段。 ansBtnList[i].btn.right
为您提供按钮的正确位置(以像素为单位)。
而是 ansBtnList[i].right
我正在为我在大学的项目开发一个测验应用程序,我试图在数据 class 中保存说明答案是否正确的按钮和布尔值,并将所有按钮保存在一个临时列表,以便稍后我可以为所有这些列表添加 onclick 侦听器。但是当我试图访问布尔值时,它变成了数字 904。这是我关于这些按钮的代码。
val ansBtnList: MutableList<ButtonDataClass> = mutableListOf()
--------------------------------------------------------------
val ans = ButtonDataClass(Button(this), quizToShow.getValue(planets[0]).answers[i].isRight)
--------------------------------------------------------------
ansBtnList.add(ans)
--------------------------------------------------------------
for (i in 0..3) {
ansBtnList[i].btn.setOnClickListener { Log.d(null, ansBtnList[i].btn.right.toString()) }
}
提前致谢!
编辑:ButtonDataClass 代码:
data class ButtonDataClass (var btn: Button, var right: Boolean)
这不是您认为的 right
。 btn
是按钮。该按钮有一个 right
字段,该字段与其在屏幕上的坐标相关。您应该改为尝试 ansBtnList[i].right.toString()
。
btn.right 引用 Button
class 的 right
变量,而不是 ButtonDataClass
替换:ansBtnList[i].btn.setOnClickListener { Log.d(null, ansBtnList[i].btn.right.toString()) }
与:ansBtnList[i].btn.setOnClickListener { Log.d("your_tag_id", ansBtnList[i].right) }
您当然没有访问正确的字段。 ansBtnList[i].btn.right
为您提供按钮的正确位置(以像素为单位)。
而是 ansBtnList[i].right