Saf*_*afa 7 android android-switch
是否有任何解决方法可以帮助我在switch.setChecked(true);不触发的情况下以编程方式更改 Switch 小部件的状态OnCheckedChangedlistener()?
switch.setChecked(true);OnCheckedChangedlistener()自动触发,但我只需要在用户手动更改状态时触发它。所以我需要停止
switch.setChecked(true);触发OnCheckedChangedlistener()
New*_*oid 17
您应该使用而不是用来onClickListener处理开关事件
mySwitch.setOnCheckedChangeListener { compoundButton, isChecked ->
if (compoundButton?.isPressed == true)
viewModel.onMySwitchChanged(isChecked)
}
Run Code Online (Sandbox Code Playgroud)
当您将开关状态设置为
或时,检查if (compoundButton?.isPressed == true)
会阻止运行viewModel.onMySwitchChangedmySwitch.isChecked = truemySwitch.isSelected = true
Fra*_*nco 11
我通过使用setOnClickListener()而不是解决了这个问题setOnCheckedChangeListener(),然后我可以isChecked在点击侦听器中使用它来知道是否Switch选中了,例如:
switchView.setOnClickListener {
val isChecked = switchView.isChecked
// Do something with the check status
}
Run Code Online (Sandbox Code Playgroud)
您可以先删除该侦听器,然后再重新设置它。
switch.setOnCheckChangedListener(null);
switch.setChecked(true);
switch.setOnCheckChangedListener(mOnCheckChangedListener);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3893 次 |
| 最近记录: |