ListView 和ScroolView同时使用计算高度时onmeasure报空指针的解决办法

虽然android 的设计者始终认为ListView、GridView+ScroolView组合使用并不是一种比较好的实现方法。但是在我们开发过程中又会经常使用到这样的需求,特别是在适配小屏幕手机的时候又必须要用这种让人不接受的设计,下面就来说一下在计算ListView或者GridView的过程中会出现onmeasure空指针的问题。


解决办法

当我发现listItem.measure(0,0)报空指针异常的时候,第一反应是listItem报空指针,然而debug调试过后发现其不为null,这个时候就比较费解了。
通过查看官方API和一些资料查找后发现了幕后的原因,其主要原因跟Linearlayout的机制有关,原因是因为只有Linearlayout重写了onmeasure这个方法,而android的其他的4种布局均没有重写onmeasure方法,想到这里,这个问题就不解自破了。既然要用到measure计算高度,那么我们就只能用Linearlayout布局了,所有解决这个问题的办法就是把你对应的适配器(adapter)里的其他布局改成Linearlayout就OK了。
自从跟进了这个问题之后,我最近也在寻找新的方式取代这种ListView 和ScroolView同时使用的情况,研究出来后会第一时间分享给大家。希望这篇博客能帮助大家解决这个问题。

总结

把adapter中的布局改成Linearlayout即可。原因如上。

PS:最新开始准备着手写博客,写的不好的地方望大家见谅。

个人博客
http://jackwaiting.com
https://github.com/Jackwaiting
http://www.zhihu.com/people/jackwaiting

Onmeasure报空指针相关推荐

  1. 切记切记:Spring配置文件中,Component-scan无法扫描到的类中的自动装配对象无法被调用,报空指针错误。...

    Spring单例注入,单例对象可设置成Spring元件. 只有Spring的元件中@Autowired才有用,在普通类中@Autowired虽然不会编译报错,但运行时会报空指针错误. 转载于:http ...

  2. @Inject 注入 还是报空指针

    @Inject 注入 还是报空指针 发布于 572天前  作者 子寒磊  1435 次浏览  复制  上一个帖子  下一个帖子  标签: 无 @IocBean @Service("userM ...

  3. jdbc mysql 存储过程执行失败_JDBC连接执行MySQL存储过程报空指针或权限错误

    JDBC连接执行MySQL存储过程报空指针或权限错误 最近使用root用户编写了几个存储过程,但是使用普通用户通过JDBC连接执行却报错: java.lang.NullPointerException ...

  4. 鸿蒙当中使用WebView报空指针的问题

    鸿蒙当中使用WebView报空指针的问题 文章目录 鸿蒙当中使用WebView报空指针的问题 前言 一.原因是什么? 二.使用步骤 1.直接写上的情况 2.需要做的修改 总结 前言 鸿蒙当中使用Web ...

  5. fastdfs下载报空指针

    项目部署了一台tracker节点,两台storage节点,下载jar包时,总是时不时的下载不下来,报空指针,代码如下 //moduleVersion.getFileUrl()的结果group1/M00 ...

  6. RedisTemplate报空指针错误

    在SpringCloud项目中写了一个redis存储的工具类,使用时总是报空指针错误: --- [nio-8001-exec-3] c.t.d.c.utils.exception.ExceptionU ...

  7. springboot项目导入Redis依赖后在测试类中无法使用(RedisTemplate),报空指针

    问题描述: 在springboot项目导入Redis依赖后,在测试类中无法使用(RedisTemplate),报空指针 前提是都已经添加了注入注解: 添加了注解后还是会报错: 解决方法: 在启动类中加 ...

  8. android measure的时候报空指针

    1.使用listview的时候,在代码中动态设置其高度,在android低版本中,这个低版本是以4.4为界,会报measure的空指针,原因是低版本relativelayout有个bug,使用list ...

  9. java:数字转string 报空指针_超干货详解:kotlin(4) java转kotlin潜规则

    前言 以一个java老鸟的角度,如何去看 kotlin. Java源代码应该如何用Kotlin重构. 如何正确学习kotlin并且应用到实际开发中.本文将会探究. 本文分两大块,重难点和潜规则. 重难 ...

  10. 都有数据一直报空指针_C语言指针难吗?纸老虎而已,纯干货讲解(附代码)...

    作者:21IC网络整理,排版:晓宇 微信公众号:芯片之家(ID:chiphome-dy) 指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方 ...

最新文章

  1. 困扰一周的奇葩bug:重复相似代码多,导致单片机程序跑飞
  2. MySQL【环境搭建 03】腾讯云 Linux 环境踩坑 loading shared libraries: libnuma.so.1 + quit without updating PID file
  3. Ember.js 入门指南——路由切换的终止和回跳
  4. jquery checkbox 选中、改变状态、change 和 click 事件
  5. 携带cookie进行数据请求
  6. Oracle数据库版本维护支持结束时间表以及数据库版本发行时间表
  7. centos7 网卡配置vlan_centos 7 下多网卡绑定+ vlan 网卡配置
  8. 一个普通二叉树的遍历
  9. git把项目上传到github的常用命令
  10. 使用超时加锁:pthread_mutex_timedlock
  11. SQLServer 2016安装时的错误:Polybase要求安装Oracle JRE 7更新51或更高版本
  12. 指纹识别传感器技术演变历程
  13. 如何快速统计多条线段的长度和?
  14. 无线摄像头一直显示请求服务器,远程摄像头为什么要连接服务器
  15. 编写java程序计算梯形面积_学习练习 java面向对象梯形面积
  16. centos php 绑定域名,彪马携手西甲联盟正式发布两款新赛季官方比赛用球
  17. 如何在坐地铁的时候与别人拉开差距?
  18. 【ELM预测】探路者算法优化极限学习机预测(含前后对比)【含Matlab源码 2204期】
  19. 【Unity】给游戏添加一个背景图
  20. 与外包人员合作时,如何管理代码?

热门文章

  1. c++程序员的我,Flutter想尝试一下,请多多建议
  2. 抖音养号的真正目的什么
  3. dataTabel转成dataview插入列后排序
  4. Altium Designer 查看板子厚度
  5. nexus 7 安卓4.2 如何升级 root?
  6. 记一次m38u列表和ts文件的视频爬虫小实战
  7. php 商品价格区间表,电商搜索价格区间计算
  8. 新书推荐:《痊愈的本能:摆脱压力、焦虑和抑郁的7种自然疗法》
  9. unet神经网络报错‘Keyword argument not understood:‘,‘input‘解决方法
  10. IVP 2021 UNETR: Transformers for 3D Medical Image Segmentation