如何让子View的事件交给其上层父View去处理呢?

recyclerview的item项本身有点击事件,然后他的子view上的控件比如button、switch、seekbar、textview等等,有的时候需要这些控件各自有各自的点击事件,一般是通过回调接口的方式去实现。但有时候又不需要这些子控件有相应的事件产生,那么怎么办呢?

常规的方法是自定义父类的ViewGroup容器,然后去重写onInterceptTouchEvent,返回true。这样就将子类的事件全部拦截了,让父类自己去实现。需求能解决。 在这里提供一项更加简洁的方式,如下:

在item项的xml布局文件里面,根布局下,添加 clickable = true。 然后在子view里面添加clickable =false。简单省事儿,问题解决。

原理就是:clickable属性是将此控件的点击事件的监听拦截,并非点击效果取消,依然点击拦截了,只是没有监听返回。这时候点击也就落在了父布局头上。问题解决。

在此做个记录,方便下次查阅。

android开发如何让子View的事件交给其上层父View去处理呢?相关推荐

  1. 《Android开发艺术探索》读书笔记 (3) 第3章 View的事件体系

    本节和<Android群英传>中的第五章Scroll分析有关系,建议先阅读该章的总结 第3章 View的事件体系 3.1 View基本知识 (1)view的层次结构:ViewGroup也是 ...

  2. android开发 bug问题解决:Only the original thread that created a view hierarchy can touch its views

    android开发 bug问题解决:Only the original thread that created a view hierarchy can touch its views. 翻译:只有创 ...

  3. 《Android开发艺术探索》读书笔记 (4) 第4章 View的工作原理

    本节和<Android群英传>中的第3章Android控件架构与自定义控件详解有关系,建议先阅读该章的总结 第4章 View的工作原理 4.1 初始ViewRoot和DecorView ( ...

  4. Android开发,使用背景图(xml drawable)为view 设置边框

    Android 开发中,遇到需要设置边框的情景,使用背景图来实现,代码如下: <layer-list xmlns:android="http://schemas.android.com ...

  5. Android开发案例Onclick点击事件switch调用分类04

    第一步:设置sting.xml中配置Button. <resources><string name="app_name">04Onclicks</st ...

  6. Android开发之神奇的Fading Edge,让你的View更有层次感!

    转自:http://blog.csdn.net/u012702547/article/details/52913538 为什么要说Fading Edge?这个在我们平时开发中并不怎么起眼的API其实是 ...

  7. 【Android开发坑系列】之事件

    总结一下: 1.Touch事件分发中只有两个主角: ViewGroup和View. ViewGroup包含onInterceptTouchEvent.dispatchTouchEvent.onTouc ...

  8. Android View的事件分发机制和滑动冲突解决方案

    这篇文章会先讲Android中View的事件分发机制,然后再介绍Android滑动冲突的形成原因并给出解决方案.因水平有限,讲的不会太过深入,只希望各位看了之后对事件分发机制的流程有个大概的概念,并且 ...

  9. Android自定义view之事件传递机制

    Android自定义view之事件传递机制 在上一篇文章<Android自定义view之measure.layout.draw三大流程>中,我们探讨了一下view的显示过程.不太熟悉的同学 ...

最新文章

  1. 最简单的CI框架入门示例--数据库取数据
  2. 看漫画学Python,屏幕前的彦祖要不要试试?
  3. 为WPF, UWP 及 Xamarin实现一个简单的消息组件
  4. struts2学习笔记之十一:struts2的类型转换器
  5. CompletableFuture详解~thenApply
  6. Git版本控制管理系统_企业实战上篇
  7. PyQt5+PIL模块实现图片批量处理器
  8. PHP错误提示的关闭方法详解
  9. leip与mysql数据库_性能分析方法 - osc_xm8bu282的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. mysql去除重复数据 重建表_MySQL 中重建mysql库中的表
  11. 使用C语言判断一个数是否为素数
  12. pycharm上传GitHub时报错:push failed: fatal: unable to access 'https://github.com/***port 443: Timed out
  13. 当下流行架构中的一些技术思考
  14. 如何提高阿里云商标注册的成功率?(经验分享)
  15. 使用USBWriter等工具做U盘启动盘后容量变小的解决办法
  16. 双机热备系统的方案与软件浅析
  17. ubuntu 改屏幕分辨率命令_ubuntu下修改分辨率
  18. IntelliJ IDEA启动tomcat报错:Disconnected from server
  19. 电视机丢失卫星信号出现花屏——Shader
  20. NAIPC2018 Zoning Houses(ST表)

热门文章

  1. 手机芯片研发有多难_手机处理器研发究竟有多难?为何众多厂家望而却步
  2. mysql no cache_mysql的SQL_NO_CACHE(在查询时不使用缓存)和sql_cache用法
  3. 01两状态随机游动模拟matlab,一种用于血糖检测的三维耳垂模型的建立方法与流程...
  4. 我的世界java1.16.3村庄种子,我的世界:1.16最神奇的种子,自然生成的石头雕像,基岩能用!...
  5. codesys 之 SFC探索
  6. Java使用ffmpeg进行视频格式转换、音视频合并、播放、截图
  7. Windows Socket套接字(四)-Windows套接字错误代码
  8. python 2.7 : 第一个Python程序
  9. NVIDIA显卡驱动崩掉
  10. 电脑桌面上记录每天需要完成工作的便签软件下载哪一个