布尔值在 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)

这不是您认为的 rightbtn 是按钮。该按钮有一个 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