最近有一個需求,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
})