1
我想孩子開關的狀態從父開關改變。
殼體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);
}
}
我會很高興任何幫助。
我想你的代碼,但在所有開關和我嘗試關閉任何一個孩子轉,那麼所有到OFF自動切換狀態的變化。 – Aks4125