Android 复杂的点击处理

Android 复杂的点击处理,android,onitemclicklistener,Android,Onitemclicklistener,我有一个自定义视图,它将圆括号绘制为六边形。 我还制作了一个自定义RecyclerView布局管理器,以蜂窝状方式处理我的自定义视图: 我不希望当点击在视图的边界内,但在六边形背景之外时,项目被点击(也不显示波纹)。 简单:覆盖视图上的dispatchTouchEvent(),如果单击发生在后台之外,则忽略该事件 问题是,实际上,此单击可能位于粉色区域,由视图B接收,但应由视图A处理 我能做点什么吗?我不知道你所说的“onDispatchTouchListener”是什么意思,我从来没有听说过

我有一个自定义视图,它将圆括号绘制为六边形。 我还制作了一个自定义RecyclerView布局管理器,以蜂窝状方式处理我的自定义视图:

我不希望当点击在视图的边界内,但在六边形背景之外时,项目被点击(也不显示波纹)。 简单:覆盖视图上的
dispatchTouchEvent()
,如果单击发生在后台之外,则忽略该事件

问题是,实际上,此单击可能位于粉色区域,由视图B接收,但应由视图A处理


我能做点什么吗?

我不知道你所说的“onDispatchTouchListener”是什么意思,我从来没有听说过,但我认为解决这个问题的最简单方法是覆盖
onTouchEvent
并在超出六边形时返回false

override fun onTouchEvent(事件:MotionEvent):布尔值=何时{
isInHexagon(event.x,event.y)->super.onTouchEvent(event)
else->false
}

对不起,我的意思是“dispatchTouchEvent()”,不管它以何种方式工作,谢谢。我可能会精确地指出,如果您在视图上使用单击侦听器和长时间单击侦听器,则如果操作为“action\u DOWN”,则返回false。