我刚刚尝试将OnClickListener
设置为父母View
,并为每个孩子设置OnClickListener
。如果没有子级侦听器,则父级侦听器会在布局中的任何时候触发,但是当我添加子级侦听器时,只会触发与该位置上的子级关联的侦听器。这是预期的行为吗?在哪里记录?
答案 0 :(得分:0)
在从父视图开始的视图层次中,单击事件被位于单击事件物理区域的第一个可见且启用的视图(在较低级别)“吸收” 注册的收听者。
当然,如果需要,该视图的调用侦听器可以(也可以不)触发层次结构中其他视图的click事件,但这不是通常的做法。
有关文档,您可以阅读以下内容:
https://developer.android.com/guide/topics/ui/ui-events
尤其是“事件处理程序” 部分,其中提到了更改上述处理输入事件的默认方式的方法。