0

我正在为我在大学的项目开发一个测验应用程序,我正在尝试保存按钮和布尔值,说明答案是否正确在数据类中,并将所有按钮保存在临时列表中,以便我可以添加 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)
4

3 回答 3

2

它不是right你认为的那样。btn是按钮。该按钮有一个right与其在屏幕上的坐标相关的字段。你应该试试ansBtnList[i].right.toString()

于 2019-03-15T13:35:47.057 回答
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) }

于 2019-03-15T13:36:40.287 回答
0

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

于 2019-03-15T13:36:54.570 回答