我想忽略对build.xml
中第一个项目的触摸(该项目不可见),并将此触摸分派给另一个RecycleView
。
这是我的代码:
View
下面的代码试图将rvBottomSheetList.addOnItemTouchListener(object : RecyclerView.OnItemTouchListener {
override fun onInterceptTouchEvent(rv: RecyclerView?, e: MotionEvent?): Boolean {
if (rv == null || e == null) {
return false
}
val firstView = (rv.layoutManager as LinearLayoutManager).findViewByPosition(0)
val firstViewAreaRect = Rect()
firstView.getGlobalVisibleRect(firstViewAreaRect)
val containXY = firstViewAreaRect.contains(e.rawX.toInt(), e.rawY.toInt())
if (e.action == MotionEvent.ACTION_DOWN && containXY) {
viewReference.dispatchMotionEvent(e)
return true
}
return false
}
// ...
})
分发给另一个MotionEvent
(片段视图):
View
但是此代码不起作用,我对view.dispatchGenericMotionEvent(motionEvent)
处理的第一个项目的触摸与其他所有触摸一样。 如何解决?