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);
}
});
當一個人處于一種狀態時,另一個人處于相反的狀態。希望能有所幫助。
添加回答
舉報