gpt4 book ai didi

Android/Kotlin - 如何循环所有 ToggleButtons 以形成 if/else 的条件

转载 作者:行者123 更新时间:2023-11-30 05:08:48 25 4
gpt4 key购买 nike

我在 adapter 中有以下一组 toggleButtons(绿色的已选中,其他未选中):

enter image description here

我正试图找到一个解决方案在所有切换按钮中不这样做:

           holder.eleven.setOnCheckedChangeListener { buttonView, isChecked ->
if(isChecked == true){
holder.eleven.setTextColor(Color.WHITE)
} else {
holder.eleven.setTextColor(Color.BLACK)
}
}

我想要一个 if/else 语句来为所有 toggleButtons 做之前的工作(设置文本颜色)。

我试图指定一个数组在循环中运行,但没有成功:

           val array = arrayOf(R.id.one,
R.id.two,
R.id.three,
R.id.four,
R.id.five,
R.id.six,
R.id.seven,
R.id.eight,
R.id.nine,
R.id.ten,
R.id.eleven)
for (i in array.indices) {
array[i].setOnCheckedChangeListener { _, isChecked ->
if (isChecked) {
array[i].setTextColor(Color.WHITE)
} else {
array[i].setTextColor(Color.BLACK)
}
}
}

你知道我怎样才能让它变得更好吗?谢谢。

最佳答案

你的数组应该是:

val array = arrayOf(
holder.one, holder.two, holder.three, holder.four, holder.five, holder.six,
holder.seven, holder.eight, holder.nine, holder.ten, holder.eleven)

然后:

for (i in array.indices) {
array[i].setOnCheckedChangeListener { _, isChecked ->
array[i].setTextColor(if (isChecked) Color.WHITE else Color.BLACK)
}
}

或:

array.forEach { 
it.setOnCheckedChangeListener { v, isChecked ->
v.setTextColor(if (isChecked) Color.WHITE else Color.BLACK)
}
}

关于Android/Kotlin - 如何循环所有 ToggleButtons 以形成 if/else 的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54053575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com