gpt4 book ai didi

java - 如果两个复选框的语句被选中问题

转载 作者:行者123 更新时间:2023-12-02 01:43:30 24 4
gpt4 key购买 nike

我正在尝试编写一段代码,声明如果选中一个复选框,则不能同时选中第二个复选框。我有一个名为 dayShift 的复选框,另一个名为 nightShift 的复选框。如果我检查 nightShift,然后检查 dayShift,代码将按我的预期工作。但如果我先检查 dayShift,然后检查 nightShift,则该代码不适用。

public void days(View view) {
CheckBox nightShift_check = (CheckBox)findViewById(R.id.nightShift);
CheckBox dayShift_check = (CheckBox)findViewById(R.id.dayShift);
if (nightShift_check.isChecked() && dayShift_check.isChecked())
{
nightShift_check.setChecked(false);
dayShift_check.setChecked(false);
Toast.makeText(mainApplication.this,"Error message",Toast.LENGTH_LONG).show();
}
}

最佳答案

如果您需要执行不同的逻辑,您可以使用RadioButton,这样就不可能有两个语句同时为 true。

否则,您可以在 CheckBox 上添加名为 setOnCheckedChangeListener 的内容,并如果它们都被选中,则取消选中它们,例如:

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,正如@NileshRathod 在评论部分中提到的那样。如果您需要从多个选项中选择一个,您可能需要使用 RadioGroup

关于java - 如果两个复选框的语句被选中问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57475376/

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