有时候我们会有一种需求,一个ViewPager有n个页面,每个页面是一个Fragment,在Fragment中使用了具有垂直滑动属性的控件,比如SwipeRefreshLayout!!!

这时二者之间的滑动事件就会产生冲突!!产生一个莫名其妙的空指针异常!解决的办法是重写ViewPager的“onInterceptTouchEvent”方法,

使得事件在传递过程中不被异常中断(try{}catch{}捕获异常并返回true),现在贴上代码,如果遇到类似错误的同学可以借鉴,如果有什么纰漏请不吝指正!

 1 public class CompatViewPager extends ViewPager {
 2     public CompatViewPager(Context context) {
 3         super(context);
 4     }
 5
 6     public CompatViewPager(Context context, AttributeSet attrs) {
 7         super(context, attrs);
 8     }
 9
10     /**
11      * 决定我们是否想要拦截这个手势,如果返回true,
12      * onMotionEvent就会接受到事件,并且在其中发生滑动的操作.
13      * 所以这段代码的原理是:当ViewPager和SwipeRefreshLayout滑动冲突的时候直接返回true,
14      * 使得ViewPager可以正常滑动(至于怎么产生冲突的我也不知道)
15      * @param ev
16      * @return
17      */
18     @Override
19     public boolean onInterceptTouchEvent(MotionEvent ev) {
20         try {
21             return super.onInterceptTouchEvent(ev);
22         } catch (Exception e) {
23             return true;
24         }
25     }
26 }

转载于:https://www.cnblogs.com/gzdx-tjh/p/5215330.html

ViewPager和SwipeRefreshLayout之间嵌套使用时发生事件冲突相关推荐

  1. element-ui tabs标签嵌套使用时 基础下划线不显示的问题

    前几天写到 tabs标签 嵌套使用的时候,嵌套的tabs 下划线无法显示,记录下解决办法 在内层tabs 上添加v-if ="外层tabs的activeName",意思为当选中这个 ...

  2. EFPower tool 使用时发生的异常

    EF Power Tool 可以从数据库反向出Model,可是在使用的过程中出现了一个奇怪的问题,第一次是正常的,后来不知什么原因,总是提示异常.异常信息如下: System.Data.Provide ...

  3. 重新计算ListView的高度,解决ScrollView和ListView两个View都有滚动的效果,在嵌套使用时解决冲突的问题

    public static void setListViewHeight(ListView listView) {// 获取ListView对应的AdapterListAdapter listAdap ...

  4. Swift UITableView嵌套UICollectionView点击事件冲突(点击事件穿透)

    不管是啥都响应tableviewcell class JYShopCertificationCell: UITableViewCell { override func hitTest(_ point: ...

  5. 场效应管的判别、检测及使用时的注意事项!

    一.用指针式万用表对场效应管进行判别 1)用测电阻法判别结型场效应管的电极 根据场效应管的PN结正.反向电阻值不一样的现象,可以判别出结型场效应管的三个电极.具体方法:将万用表拨在R×1k档上,任选两 ...

  6. 光端机使用时出现了故障怎样定位和处理

    光端机,就是光信号传输的终端设备,但是客户在使用光端机的过程中难免会碰到一些问题,那么,我们在使用光端机时出现了故障该怎样定位和处理呢?接下来就由杭州飞畅科技的小编来为大家详细介绍下光端机出现故障时该 ...

  7. scanf()函数的详解以及使用时需要注意的一些细节-C语言基础

    这篇文章要探讨的是"scanf()函数的详解以及使用时需要注意的一些细节".涉及scanf()函数的应用和需要注意的问题.属于C语言基础篇(持续更新). scanf()(函数原型: ...

  8. mysql启动的服务程序是什么_MySQL服务启动:某些服务在未由其他服务或程序使用时将自动停止...

    这几天因为工作需求,需要把MySQL请出来,所以将尘封已久的MySQL进行启动.可是事与愿违,兴许是许久没有访问MySQL了,MySQL生气的不理我,并向外抛出一阵阵报错. 1.其中一个是:Windo ...

  9. 前端 重构时需要注意的事项_驾驶式扫地车的功能特点和使用时需要注意事项...

    扫地车 随着经济的发展,人们的生活水平不断提高,对生活环境的要求也越来越高,于是许多工厂.物业.超市.社区.市政单位等开始购买扫地车来进行路面清洁.一是清洗效果好,二是效率高,可以节省人工成本.扫地车 ...

最新文章

  1. 2021年大数据Flink(五):Standalone-HA高可用集群模式
  2. 发现一个有意思的博主(科研工作者)
  3. docker的学习笔记(一)-一些基本的命令的学习
  4. linux unbuntu屏幕显示不完整,解决 NetBeans 在 Gnome3 显示不全的问题
  5. 街景图像分割_借助深度学习和街景图像进行城市的大规模树木死亡率研究
  6. hdu 1754/zstu 3121 I Hate It(线段树)
  7. 翻译:用户变量(User-Defined Variable)(已提交到MariaDB官方手册)
  8. [JS] Invalid Date
  9. Kafka精华问答 | kafka节点之间如何备份?
  10. JavaScript学习笔记:迷宫游戏
  11. 用TF实现线性回归模型。
  12. 曾辉机器人_奋进者曾辉:在润物无声中深植教育初心
  13. java语言的一些小语法
  14. html5 播放器 github,GitHub - Little-girl-lily/player: html5版本音乐播放器,支持iOS设备...
  15. 河南师范大学python+学习笔记6 组合数据类型
  16. 月夜无声,谁与我醉今宵
  17. 24岁小伙跟女友回家 与41岁准丈母娘畸恋私奔
  18. 微信头像失效_微信头像地址失效踩坑记附带解决方案
  19. 「史诗级干货」新人up主B站运营炫酷玩法,轻松实现UP!UP!UP!
  20. 诗词锦集(持续更新)

热门文章

  1. 音视频相关的书籍,多媒体技术,语音识别
  2. 视觉SLAM十四讲学习笔记 第7讲 视觉里程计
  3. 心灵鸡汤 - ninth (9th)
  4. AngularJS 构架模式
  5. 安装nginx—并创建域名主机
  6. COLD MOUNTAIN
  7. 2021 QS商科硕士排名、全球MBA排名公布
  8. English Learning - Day9 作业打卡 2022.12.15 周四
  9. python 结构体排序(自定义排序规则)
  10. Java学习到什么程度可以找到月薪过万的工作?