Состояние коммутатора Android-коммутатора
Я хочу изменить состояние дочерних переключателей с родительского коммутатора.
вкратце:
случай 1: Родитель дальше -> все Ребенок переходит на
случай 2: Родитель выключен -> Все для детей выключает
случай 3: Ребенок 2 выкл (ребенок 1 & 3 ON) -> родитель на
Выпуск Когда я вкл/выкл все дочерние выключатели родитель выключатель должен вкл/соответственно.
ниже мой код в коде случае 1,2 & 3 работает нормально.
switchParent.setOnCheckedChangeListener (новый CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b) {
switchChild1.setChecked(true);
switchChild2.setChecked(true);
switchChild3.setChecked(true);
} else {
switchChild1.setChecked(false);
switchChild2.setChecked(false);
switchChild3.setChecked(false);
}
}
}); switchChild1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
setState();
}
});
switchChild2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
setState();
}
});
switchChild3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
setState();
}
});
SetState()
частная пустота SetState() {
if (switchChild1.isChecked() || switchChild2.isChecked() || switchChild3.isChecked()) {
switchParent.setChecked(true);
} else {
switchParent.setChecked(false);
}
}
Я буду признателен любая помощь.
Я попробовал ваш код, но когда все переключатели ON и я стараюсь OFF любой один ребенок переключатель, то все изменения состояния переключения автоматически отключается. – Aks4125