4

我有一个带有 ImageView 和 TextView 的自定义视图,并为我的自定义视图实现了 onClickListener。问题是,ImageView 正在消耗 onClick 事件(我只希望用户能够点击我的控件,无论在哪里)。我也可以听 Image/TextView 的 onClick,但对我来说似乎很脏。

有没有办法在 Android 中冒泡/路由事件?或者可能有另一个好的解决方案?

4

2 回答 2

10

View.onClick()事件不冒泡。两种可能的解决方案:

  1. 在您的子视图上注册OnCLickListener,然后通过调用performClick()父级来传递事件。

  2. 使用OnTouchListener哪个冒泡:只需false在子视图的onTouch()方法中返回。这是更多的工作,因为您必须考虑触地和抬起才能模拟点击。

于 2011-01-18T13:58:16.167 回答
3

您是否onClickListener在自定义视图中设置了?

将您的自定义视图设置为可点击。

我不建议在子视图中设置任何点击监听器。

它现在有效吗?

于 2011-01-18T13:30:55.893 回答