0
我有一個測驗應用程序,每個問題有4個答案,其中2個是正確的。我使用CheckBox來獲得答案。我想要的是,當用戶點擊2個答案時,剩下的2個就會被取消選中。換句話說,當時只有2個選中了CheckBox,並且如果用戶有2個選中並檢查了第三個,那麼選中的其中一個取消選中。我寫了一個代碼,它是「半工半讀」的。當我檢查複選框從第一個到最後開始工作,但從最後點擊到第一,沒有任何反應......Check 4 of 4複選框
public void checkBoxClicked(View view) {
switch (view.getId()) {
case R.id.checkBoxOne:
case R.id.checkBoxTwo:
case R.id.checkBoxThree:
case R.id.checkBoxFour:
if (checkBoxOne.isChecked() && checkBoxTwo.isChecked()) {
checkBoxThree.setEnabled(false);
checkBoxFour.setEnabled(false);
}else {
checkBoxThree.setEnabled(true);
checkBoxFour.setEnabled(true);
}
if (checkBoxOne.isChecked() && checkBoxThree.isChecked()) {
checkBoxTwo.setEnabled(false);
checkBoxFour.setEnabled(false);
}else {
checkBoxTwo.setEnabled(true);
checkBoxFour.setEnabled(true);
}
if (checkBoxOne.isChecked() && checkBoxFour.isChecked()) {
checkBoxTwo.setEnabled(false);
checkBoxThree.setEnabled(false);
}else {
checkBoxTwo.setEnabled(true);
checkBoxThree.setEnabled(true);
}
if (checkBoxTwo.isChecked() && checkBoxThree.isChecked()) {
checkBoxOne.setEnabled(false);
checkBoxFour.setEnabled(false);
}else {
checkBoxOne.setEnabled(true);
checkBoxFour.setEnabled(true);
}
if (checkBoxTwo.isChecked() && checkBoxFour.isChecked()) {
checkBoxOne.setEnabled(false);
checkBoxThree.setEnabled(false);
}else {
checkBoxOne.setEnabled(true);
checkBoxThree.setEnabled(true);
}
if (checkBoxThree.isChecked() && checkBoxFour.isChecked()) {
checkBoxOne.setEnabled(false);
checkBoxTwo.setEnabled(false);
}else {
checkBoxOne.setEnabled(true);
checkBoxTwo.setEnabled(true);
}
break;
我是一個初學者。我試圖複製/粘貼你的代碼,但那不起作用......我現在在學Java,而且我只知道基本的東西。如果您可以發佈一些我可以用於我的案例的代碼,我將不勝感激。 –
我會盡量發表一個完整的例子。 – Jlange
看到我的更新,我測試了這個工程。我改進了我的原始示例,繪製時不應該閃爍。 – Jlange