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 阻止子空间消费事件 回传给父控件 (父控件想要执行某方法时)
<CheckBox
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
2
不传给子空间 重写传递事件的方法
*/
事件冲突
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 上下滚动冲突 想实现以下tableview+scrollview,scrollview是最底层。Segment和T...
- 同时设置一个listview条目的长按事件和点击事件时会发生冲突,这时候只需要把listview的长按事件返回的f...
- android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的...
- 最近开发遇到listView中解析爬虫回来的html数据超链接点击问题。有文字html标签链接和纯网址链接混合...
- 问题是这样的,用了jquery weui的下拉加载,加载列表数据,点击进入详情。在ios系统上出现下拉会误触发点击...