美文网首页
RecyclerView导致父控件点击事件失效的解决办法

RecyclerView导致父控件点击事件失效的解决办法

作者: CarlosLynn | 来源:发表于2018-06-28 16:01 被阅读1508次

最近有一个需求,RecyclerView外层嵌套了一个LinearLayout,想实现点击整个LinearLayout都能响应一个事件,结果给LinearLayout和RecyclerView都加上点击事件(非itemClick)后,点击RecyclerView范围无效。可能是RecyclerView的item截获了click事件,阻止了点击的透传,做了以下处理解决

/*recyclerView3.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_UP) {
            layoutView3.performClick();  //模拟父控件的点击
        }
        return false;
    }
});*/

如果采用ButterKnife事件绑定的方式则:

@OnTouch(R.id.recycler_view3)
public boolean onRvTouch(View v, MotionEvent event){
   if (event.getAction() == MotionEvent.ACTION_UP) {
       layoutView3.performClick();  //模拟父控件的点击
   }
   return false;
}

demo地址:
https://github.com/zhang721688/MyLlRvDemo

相关文章

网友评论

      本文标题:RecyclerView导致父控件点击事件失效的解决办法

      本文链接:https://www.haomeiwen.com/subject/fgogyftx.html