我想从父交换机更改子交换机的状态。
简要说明:
案例1:家长 - >所有Child开启
案例2:父母关闭 - >所有Child关闭
案例3:儿童2关闭(儿童1& 3开启) - >家长
问题 当我打开/关闭所有子开关时,父开关应相应地打开/关闭。
下面是我的代码 代码案例1,2& 3工作正常。
switchParent.setOnCheckedChangeListener(新 CompoundButton.OnCheckedChangeListener(){
Airport.with_zipcode(12345).in_distance(5)
setState()
private void setState(){
@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();
}
});
我将不胜感激任何帮助。
答案 0 :(得分:1)
更改你的setState()方法。
private void setState() {
if (switchChild1.isChecked() && switchChild2.isChecked() && switchChild3.isChecked()) {
switchParent.setChecked(true);
} else {
switchParent.setChecked(false);
}
}