我有一个带有 ImageView 和 TextView 的自定义视图,并为我的自定义视图实现了 onClickListener。问题是,ImageView 正在消耗 onClick 事件(我只希望用户能够点击我的控件,无论在哪里)。我也可以听 Image/TextView 的 onClick,但对我来说似乎很脏。
有没有办法在 Android 中冒泡/路由事件?或者可能有另一个好的解决方案?
我有一个带有 ImageView 和 TextView 的自定义视图,并为我的自定义视图实现了 onClickListener。问题是,ImageView 正在消耗 onClick 事件(我只希望用户能够点击我的控件,无论在哪里)。我也可以听 Image/TextView 的 onClick,但对我来说似乎很脏。
有没有办法在 Android 中冒泡/路由事件?或者可能有另一个好的解决方案?
View.onClick()
事件不冒泡。两种可能的解决方案:
在您的子视图上注册OnCLickListener
,然后通过调用performClick()
父级来传递事件。
使用OnTouchListener
哪个冒泡:只需false
在子视图的onTouch()
方法中返回。这是更多的工作,因为您必须考虑触地和抬起才能模拟点击。
您是否onClickListener
在自定义视图中设置了?
将您的自定义视图设置为可点击。
我不建议在子视图中设置任何点击监听器。
它现在有效吗?