有一个LinearLayout
有很多子元素。当用户触摸任何这些子元素时,将调用相同的方法。为了不为每个元素实现相同的onClickListener
,我为父级LinearLayout ONLY 实施了onClickListener
。
现在,当我单击父布局边框内的任何位置时,正在调用所需的方法,就像我为所有子元素实现了侦听器一样。
问:我可以在我为父级实现onClickListener
的任何时候依赖它,它的所有子元素都会对click事件做出反应吗?
问:如果任何子元素有自己的onClickListener
,会发生什么?是否会发生碰撞或点击该元素只会触发自己的点击事件?
答案 0 :(得分:29)
您在第二个问题上回答了第一个问题。 clickEvent将传递到布局层次结构中的最低子元素。如果此元素没有onClick行为,则会将事件传递给其父级,直到处理完该事件。
因此,您可以将LinearLayout视为onClick行为的单个块。 如果在布局中创建另一个可点击元素,请务必使其足够大,以减少用户错过正确项目的可能性。