偶遇Android触摸事件分发机制,一点小感悟

昨天测试的时候,发现一个小bug,我给子控件加了选择器背景变色,但是点击父布局,子控件背景也变色了。

需求:
在ListView的列表中,item点击进入详情。它的下半部分是一个显示回复区域,至多显示3条记录,最下边显示“查看全部”字样,需求是当手指按下“查看全部”字样时,背景变色。点击其他非“查看全部”字样,“查看全部”背景不变。

错误描述:
当按下非“查看字样”区域时,“查看全部”背景也变了颜色。

思考:
我认为是因为Android触摸事件分发机制导致的错误,因为分发是从父布局依次传递到子控件的。因为父布局有点击事件,点击也是触摸事件的的一种,so,它层层传递就导致了“查看全部”背景变色了。

解决办法:
虽然我当时费尽脑筋,解决的效果都不理想。其实解决办法很简单,给“查看全部”单独设置同样的点击事件就可以了。

感悟:
多么痛的领悟,我曾经那么辛苦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容