使父级可点击使所有子元素也可点击吗?

时间:2011-11-15 10:40:03

标签: android onclick clickable android-linearlayout

有一个LinearLayout有很多子元素。当用户触摸任何这些子元素时,将调用相同的方法。为了不为每个元素实现相同的onClickListener,我为父级LinearLayout ONLY 实施了onClickListener

现在,当我单击父布局边框内的任何位置时,正在调用所需的方法,就像我为所有子元素实现了侦听器一样。

问:我可以在我为父级实现onClickListener的任何时候依赖它,它的所有子元素都会对click事件做出反应吗?

问:如果任何子元素有自己的onClickListener,会发生什么?是否会发生碰撞或点击该元素只会触发自己的点击事件?

1 个答案:

答案 0 :(得分:29)

您在第二个问题上回答了第一个问题。 clickEvent将传递到布局层次结构中的最低子元素。如果此元素没有onClick行为,则会将事件传递给其父级,直到处理完该事件。

因此,您可以将LinearLayout视为onClick行为的单个块。 如果在布局中创建另一个可点击元素,请务必使其足够大,以减少用户错过正确项目的可能性。