最近有一个需求,RecyclerView外层嵌套了一个LinearLayout,想实现点击整个LinearLayout都能响应一个事件,结果给LinearLayout和RecyclerView都加上点击事件(非itemClick)后,点击RecyclerView范围无效。可能是RecyclerView的item截获了click事件,阻止了点击的透传,做了以下处理解决
// 通过下面的方法,开启LinearLayout 的点击事件,使LinearLayout 可以调用OnClick()
mRvRecommendationGridView.setOnTouchListener(OnTouchListener { v, event ->
if (event.action == MotionEvent.ACTION_UP) {
ll_recommendation_gridview.performClick() //模拟父控件的点击
}
false
})
网友评论