【发布时间】:2020-08-24 02:36:55
【问题描述】:
我正在学习 Kotlin,我正在尝试制作两个可以切换具有以下特征的按钮:
- 按钮 1 以 toggled(true) 开头,按钮 2 以 unggled(false) 开头。
- 如果我单击未切换的按钮,他将变为已切换,而另一个未切换。
- 如果我单击切换的按钮,他将变为未切换,而另一个则切换。
- 如果一个按钮为真,则另一个为假。
- 切换按钮始终为黄色,另一个未切换按钮为白色。
按钮代码:
<ToggleButton
android:id="@+id/button1"
android:background="@color/yellow"
android:text="ToggleButton"
android:textOff="Ton"
android:textOn="Ton"/>
<ToggleButton
android:id="@+id/button2"
android:background="@color/white"
android:text="ToggleButton"
android:textOff="Kg"
android:textOn="Kg"/>
活动代码:
private val btn1 by lazy { findViewById<View>(R.id.button1) as ToggleButton }
private val btn2 by lazy { findViewById<View>(R.id.button2) as ToggleButton }
btn1.setOnClickListener{
btn1.setOnCheckedChangeListener { _, isChecked ->
if (isChecked) { //if btn1 is true he is yellow and btn2 is false and he is white
btn2.isChecked = false
btn1.setBackgroundColor(Color.YELLOW)
btnLoadModeFrac.setBackgroundColor(Color.WHITE)
} else { //if btn1 is false he is white and btn2 is true and he is yellow
btn2.isChecked = true
btn1.setBackgroundColor(Color.WHITE)
btn2.setBackgroundColor(Color.YELLOW)
}
}
}
问题
这里的问题是,在第一次单击时,我可以同时切换按钮 1 和按钮 2(两者都是 true),即使我将一个设置为 false 而另一个设置为 true。之后,一切正常。
在调用函数之前,我尝试在我的活动中将按钮 1 设置为 true 并将按钮 2 设置为 false,但它也不起作用。
感谢您的帮助!
【问题讨论】:
标签: android kotlin android-widget oncheckedchanged