布尔值在Kotlin中转换为整数904

时间:2019-03-15 13:25:16

标签: android kotlin boolean onclicklistener data-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)

3 个答案:

答案 0 :(得分:2)

您认为不是rightbtn是按钮。该按钮具有一个right字段,该字段与其在屏幕上的坐标有关。您应该尝试使用ansBtnList[i].right.toString()

答案 1 :(得分:0)

btn.right指向right类的Button变量,而不是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) }

答案 2 :(得分:0)

当然您没有访问正确的字段。 ansBtnList[i].btn.right为您提供按钮的正确位置(以像素为单位)。 宁可ansBtnList[i].right