如何拦截recyclerview使用addOnItemTouchListener的childview的点击事件。

recyclerview.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), new RecyclerItemClickListener.OnItemClickListener() {
            @Override
            public void onItemClick(View view, int position) {
                Log.e("hello","hello");
            }
        }));

RecyclerItemClickListener 如果在itemview中有button并且添加了onclick事件,这个时候应该如何处理这样的冲突,使得itemview的点击事件不会覆盖掉button的响应事件。希望可以给出具体的代码。

阅读 11k
2 个回答

onBindViewHolder中对每个item相应的button设置点击事件,同时在adapter中添加buttononClick点击后的实现接口,如此在调用界面实现adapter中设置的实现接口即可。

新手上路,请多包涵

我根据自己实际的item的xml布局,在onSingleTapUp(MotionEvent e)方法中,通过e.getX()与e.getY()对点击事件响应区域的限制,限制事件分发,以此来达到item的childView的点击事件能不被拦截的需求。(也是一直找不到别的办法。。。)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题