我正在大学里为我的项目开发测验应用程序,我正在尝试保存按钮和布尔值(指出答案是否正确)在数据类中,并将所有按钮保存在临时列表中,这样我就可以稍后为所有这些添加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)
答案 0 :(得分:2)
您认为不是right
。 btn
是按钮。该按钮具有一个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