У меня есть 8 флажков, которые относятся к будним дням, воскресеньям по субботу и одному на протяжении всех дней. Проблема в том, что если я выберу все дни, то это произойдет. Но я проверяю все и снимите несколько дней означает, что он не отражает в мой результат, результат остается все дни здесь мой кодПроблема выбора флажка с множественным выбором
public void onClick(View v) {
if (v == btnSave) {
days.clear();
if (all.isChecked()) {
days.add("Su");
days.add("Mo");
days.add("Tu");
days.add("We");
days.add("Th");
days.add("Fr");
days.add("Sa");
} else {
if (sun.isChecked()) {
days.add("Sun");
}
if (mon.isChecked()) {
days.add("Mon");
}
if (tue.isChecked()) {
days.add("Tue");
}
if (wed.isChecked()) {
days.add("Wed");
}
if (thur.isChecked()) {
days.add("Thu");
}
if (fri.isChecked()) {
days.add("Fri");
}
if (sat.isChecked()) {
days.add("Sat");
}
}
Log.d("my days are ", "size is " + days.size());
myPreference.setNumberOfPractiseDays("TOTAL_NUMBER_OF_DAYS",
days.size());
for (int i = 0; i < days.size(); i++) {
myPreference.setPractiseDays("DAYS" + i, days.get(i));
}
finish();
} else if (v == all) {
if (all.isChecked()) {
sun.setChecked(true);
mon.setChecked(true);
tue.setChecked(true);
wed.setChecked(true);
thur.setChecked(true);
fri.setChecked(true);
sat.setChecked(true);
} else {
sun.setChecked(false);
mon.setChecked(false);
tue.setChecked(false);
wed.setChecked(false);
thur.setChecked(false);
fri.setChecked(false);
sat.setChecked(false);
}
}
}
Заранее спасибо
Вы не получили результат isChecked() или пользовательский интерфейс не изменяется? – EagleEye
, потому что вы не снимаете флажок «все», если флажок не установлен. – Riad