Android 手机卫士--事件传递&响应规则

问题的提出:

本文地址:http://www.cnblogs.com/wuyudong/p/5911187.html ,转载请注明源地址。

前面的文章实现了点击SettingItemView条目的时候,相应的TextView文字改变,但是选择自定义控件SettingItemView中的checkbox的时候,则相应的TextView文字没有改变

这里需要了解事件传递过程

SettingActivity对应布局文件的跟布局获取点击事件,此事件传递给SettingItemView

1.点击在SettingItemView非CheckBox区域,事件就由SettingItemView去做响应
2.点击在SettingItemView中CheckBox区域,事件就由SettingItemView传递给CheckBox,由CheckBox去做响应

CheckBox响应当前的点击事件,则SettingItemView就不能再去响应此事件,不能调用onClick方法,去改变状态

解决此问题的方案为:不让checkBox响应点击事件即可

        <!--
          android:clickable="false"
            android:focusable="false"
            android:focusableInTouchMode="false"
            让当前的 CheckBox不能被点击,即不能响应事件   -->

        <CheckBox
            android:id="@+id/cb_box"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:clickable="false"
            android:focusable="false"
            android:focusableInTouchMode="false" />

 

posted @ 2016-09-26 23:42  wuyudong  阅读(398)  评论(0编辑  收藏  举报
Top_arrow