2 回答
TA贡献1803条经验 获得超3个赞
如果您需要执行不同的逻辑,您可以使用RadioButton,所以不能同时有两个语句为真。
否则,您可以添加一些setOnCheckedChangeListener在您身上CheckBox调用的东西,如果它们都被选中,则取消选中它们,例如:
dayShift_check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked && nightShift_check.isChecked()) {
dayShift_check.setChecked(false);
nightShift_check.setChecked(false);
}
}
});
但我仍然强烈建议您使用,RadioButton如果您需要从两者中进行选择,如果您需要从多个选项中选择一个选项,您可能想要使用RadioGroup.
TA贡献1795条经验 获得超7个赞
您应该在 CheckBox 上使用侦听器来获取每次单击时的状态:
nightShift_check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
dayShift_check.setChecked(!isChecked);
}
});
dayShift_check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
nightShift_check.setChecked(!isChecked);
}
});
当一个人处于一种状态时,另一个人处于相反的状态。希望能有所帮助。
添加回答
举报