我希望我的 Switch 更改为检查某些条件是否为真,否则,显示一个通知用户发生了什么的祝酒词。我正在尝试:
switch?.setOnclickListener{
if(condition) switch!!.isChecked=true
else
//Show toast
}
但我知道条件为假并且开关更改为已选中。仅当某些条件为真时,如何进行 switch 的更改?
答案 0 :(得分:1)
此代码应该可以工作:
var condition = true
if (condition == true) {
switch.isChecked = true
} else {
Toast.makeText(this, "This is a toast", Toast.LENGTH_SHORT).show()
}
也有可能你的开关被默认选中,你的 xml 应该是这样的:
<Switch
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="Switch" />
如果其中一个标签是 android:checked="true"
,请将其设置为 false
。
答案 1 :(得分:0)
一切似乎都对我有用。
但我在另一个问题中发现了他们使用的类似问题
checkBox.setChecked(true)
checkbox.jumpDrawablesToCurrentState()
它对他们有用。有什么帮助吗?
这是原文链接: Why CheckBox checked not working with Kotlin programmatically?