使用BRVAH RecycleView 嵌套RecycleView点击Item里面内容无法响应

使用BRVAH RecycleView 嵌套RecycleView点击Item里面内容无法响应

问题描述
使用BRVAH (大猴子)RecycleView 嵌套RecycleView 点击Item 子类RecycleView内容的部分无法被点击。
如图红色框内 内容无法被点击
在这里插入图片描述

解决办法
将子类RecycleView 重新定义一下 对其触摸事件让自身控件对其事件进行消费
(通俗的讲就是不让子类的RecycleView 自己有点击事件) 把这个替换成子类的RecycleView 完美解决问题。

【 NoTouchRecyclerViewX 工具类】

/** * Created by Xia_焱 on 2020/5/14. * 邮箱:xiaohaotianV@163.com */
public class NoTouchRecyclerViewX extends RecyclerView {
   

    public NoTouchRecyclerViewX(Context context) {
   
        super(context);
    }

    public NoTouchRecyclerViewX(Context context, @Nullable AttributeSet attrs) {
   
        super(context, attrs);
    }

    public NoTouchRecyclerViewX(Context context, @Nullable AttributeSet attrs, int defStyle) {
   
        super(context, attrs, defStyle);
    }
    @Override
    public boolean onTouchEvent(MotionEvent e) {
   
        return false;
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent e) {
   
        return true;
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
   
        return super.dispatchTouchEvent(ev);
    }

}

科普一下
事件分发中如果方法返回true,那么代表事件就此消费,不会继续往别的地方传了,事件终止。

看图更清楚

在这里插入图片描述dispatchTouchEvent 和 onTouchEvent 一旦return true,事件就停止传递了,对于return true事件被消费了,消费了的意思就是事件走到这里就是终点,不会往下传,没有谁能再收到这个事件了。

[希望这篇文章可以帮到你]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2822.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux查看端口是否被占用的命令是,Linux如何查看端口是否被占用

    linux查看端口是否被占用的命令是,Linux如何查看端口是否被占用Linux如何查看端口是否被占用Linux如何查看端口是否被占用?下面为大家推荐两种检测方法,对Linux系统不熟悉的小伙伴可以看看。1、使用lsof命令lsof是一个非常强大的linux工具,她被用来查找哪些程序使用了那些文件。在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。具体方法:lsof-i:port_…

    2025年7月15日
    2
  • 《渔歌子》之景

    《渔歌子》之景

    2021年7月30日
    76
  • 配置springboot项目使用外部tomcat

    配置springboot项目使用外部tomcat在pom文件中添加依赖<!–使用自带的tomcat–><dependency><groupId>org.springframework.boot</

    2022年8月16日
    7
  • 简单说说USB协议(一)[通俗易懂]

    简单说说USB协议(一)[通俗易懂]USB,通用串行总线,是一种计算机与外围设备进行数据交互的通信协议。任何东西的出现都是有理可循的,在以前计算机刚兴起的时候,要连接一个新的设备,需要断电关闭计算机,连接好设备,配置好硬件,再上电运行,这个过程相当费时费力,为了能拥有随意接入设备这种热拔插特性,USB总线协议应运而生。USB总线如今已经有USB1.0、USB1.1、USB2.0、USB3.0。USB协议采用主从工作模式,…

    2022年6月17日
    38
  • 缓存穿透、缓存击穿、缓存雪崩区别和解决方案[通俗易懂]

    一、缓存处理流程   前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。     二、缓存穿透    描述:    缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导…

    2022年4月3日
    57
  • torch mseloss_pytorch conv1d

    torch mseloss_pytorch conv1dMSELOSSCLASStorch.nn.MSELoss(size_average=None,reduce=None,reduction:str=’mean’)创建一个标准来测量输入x和目标y中每个元素之间的均方误差(L2范数平方)。未减少的损失(即reduction设置为’none’)可以描述为:其中N是batchsize.如果reduction不是’none'(默认为’mean’),那么:x和y是任意形状的张量,每个张量总共有n个元素…

    2022年9月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号