Android Switch Compat State Issue

时间:2016-01-22 05:29:51

标签: android switchcompat

UI Sample

我想从父交换机更改子交换机的状态。

简要说明:

案例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();
        }
    });

我将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:1)

更改你的setState()方法。

private void setState() {
if (switchChild1.isChecked() && switchChild2.isChecked() && switchChild3.isChecked()) {
    switchParent.setChecked(true);
} else {
    switchParent.setChecked(false);
}

}