【发布时间】:2019-11-10 20:24:44
【问题描述】:
我有一个带有多个按钮的用户界面。它们的 ID 为“button1”、“button2”、... 我想在 for 循环中为所有这些设置一个 OnClickListener。我不想为每个按钮输入类似 button1.setOnClickListener 这样的行。
我在这里找到了一种适用于 java 的解决方案:Android: Using findViewById() with a string / in a loop 我尝试在 Kotlin 中进行调整。
var buttons = ArrayList<Button>()
for (i in 1..7) {
var idString = "Button%i"
var buttonID = getResources().getIdentifier(idString, "id", packageName)
buttons.add( findViewWithTag(buttonID))
buttons[i].setOnClickListener(buttonclicked)
}
这会引发“未解决的引用”错误。如何在不为每个按钮输入一行的情况下访问所有按钮? 在此先感谢大家。
【问题讨论】: