事件冲突

public  boolean isCheck(){
    return cb_box.isChecked();
}

    // 设置是否选中  点击条目一次调用一次此方法
    public void setCheck(boolean isCheck){
          cb_box.setChecked(isCheck);
        if(isCheck){
           tv_des.setText("自动更新已开启");
        }else{
            tv_des.setText("自动更新已关闭");
        }
    }



  private void initUpdate() {
           final SettingItemView sivUpdate = (SettingItemView) findViewById(R.id.siv_update);
        //  设置点击事件
        sivUpdate.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View view) {
               // 逻辑思路 如果之前选中点击过后为未选中 如果之前为未选中点击过后为选中
                  boolean isCheck = sivUpdate.isCheck();
                   //取反
                   sivUpdate.setCheck(!isCheck);

               }
           });
 /*出现bug 点击checkBox时事件不响应
            原因SettingItemView 为View控件 有点击事件 作用于整个View 而checkBox也有点击事件
           作用于自身 当点击checkBook时会相应自身的  而不响应父控件的事件
           settingActivity 对应根部局获得点击事件->settingItemView
          settingItemView 传递给 1 非checkBox区域 2 checkBox取区域 
          当checkBox响应此事件(事件就会被他消费掉 事件就不会回传了) SettingItemView就不能响应此事件  
          如果check不响应事件 事件就会回传给父控件

解决思路:
   
   传给他阻止其消费

 1 阻止子空间消费事件 回传给父控件 (父控件想要执行某方法时)
 

你可能感兴趣的:(事件冲突)