Onmeasure报空指针
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报空指针相关推荐
- 切记切记:Spring配置文件中,Component-scan无法扫描到的类中的自动装配对象无法被调用,报空指针错误。...
Spring单例注入,单例对象可设置成Spring元件. 只有Spring的元件中@Autowired才有用,在普通类中@Autowired虽然不会编译报错,但运行时会报空指针错误. 转载于:http ...
- @Inject 注入 还是报空指针
@Inject 注入 还是报空指针 发布于 572天前 作者 子寒磊 1435 次浏览 复制 上一个帖子 下一个帖子 标签: 无 @IocBean @Service("userM ...
- jdbc mysql 存储过程执行失败_JDBC连接执行MySQL存储过程报空指针或权限错误
JDBC连接执行MySQL存储过程报空指针或权限错误 最近使用root用户编写了几个存储过程,但是使用普通用户通过JDBC连接执行却报错: java.lang.NullPointerException ...
- 鸿蒙当中使用WebView报空指针的问题
鸿蒙当中使用WebView报空指针的问题 文章目录 鸿蒙当中使用WebView报空指针的问题 前言 一.原因是什么? 二.使用步骤 1.直接写上的情况 2.需要做的修改 总结 前言 鸿蒙当中使用Web ...
- fastdfs下载报空指针
项目部署了一台tracker节点,两台storage节点,下载jar包时,总是时不时的下载不下来,报空指针,代码如下 //moduleVersion.getFileUrl()的结果group1/M00 ...
- RedisTemplate报空指针错误
在SpringCloud项目中写了一个redis存储的工具类,使用时总是报空指针错误: --- [nio-8001-exec-3] c.t.d.c.utils.exception.ExceptionU ...
- springboot项目导入Redis依赖后在测试类中无法使用(RedisTemplate),报空指针
问题描述: 在springboot项目导入Redis依赖后,在测试类中无法使用(RedisTemplate),报空指针 前提是都已经添加了注入注解: 添加了注解后还是会报错: 解决方法: 在启动类中加 ...
- android measure的时候报空指针
1.使用listview的时候,在代码中动态设置其高度,在android低版本中,这个低版本是以4.4为界,会报measure的空指针,原因是低版本relativelayout有个bug,使用list ...
- java:数字转string 报空指针_超干货详解:kotlin(4) java转kotlin潜规则
前言 以一个java老鸟的角度,如何去看 kotlin. Java源代码应该如何用Kotlin重构. 如何正确学习kotlin并且应用到实际开发中.本文将会探究. 本文分两大块,重难点和潜规则. 重难 ...
- 都有数据一直报空指针_C语言指针难吗?纸老虎而已,纯干货讲解(附代码)...
作者:21IC网络整理,排版:晓宇 微信公众号:芯片之家(ID:chiphome-dy) 指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方 ...
最新文章
- 困扰一周的奇葩bug:重复相似代码多,导致单片机程序跑飞
- MySQL【环境搭建 03】腾讯云 Linux 环境踩坑 loading shared libraries: libnuma.so.1 + quit without updating PID file
- Ember.js 入门指南——路由切换的终止和回跳
- jquery checkbox 选中、改变状态、change 和 click 事件
- 携带cookie进行数据请求
- Oracle数据库版本维护支持结束时间表以及数据库版本发行时间表
- centos7 网卡配置vlan_centos 7 下多网卡绑定+ vlan 网卡配置
- 一个普通二叉树的遍历
- git把项目上传到github的常用命令
- 使用超时加锁:pthread_mutex_timedlock
- SQLServer 2016安装时的错误:Polybase要求安装Oracle JRE 7更新51或更高版本
- 指纹识别传感器技术演变历程
- 如何快速统计多条线段的长度和?
- 无线摄像头一直显示请求服务器,远程摄像头为什么要连接服务器
- 编写java程序计算梯形面积_学习练习 java面向对象梯形面积
- centos php 绑定域名,彪马携手西甲联盟正式发布两款新赛季官方比赛用球
- 如何在坐地铁的时候与别人拉开差距?
- 【ELM预测】探路者算法优化极限学习机预测(含前后对比)【含Matlab源码 2204期】
- 【Unity】给游戏添加一个背景图
- 与外包人员合作时,如何管理代码?
热门文章
- c++程序员的我,Flutter想尝试一下,请多多建议
- 抖音养号的真正目的什么
- dataTabel转成dataview插入列后排序
- Altium Designer 查看板子厚度
- nexus 7 安卓4.2 如何升级 root?
- 记一次m38u列表和ts文件的视频爬虫小实战
- php 商品价格区间表,电商搜索价格区间计算
- 新书推荐:《痊愈的本能:摆脱压力、焦虑和抑郁的7种自然疗法》
- unet神经网络报错‘Keyword argument not understood:‘,‘input‘解决方法
- IVP 2021 UNETR: Transformers for 3D Medical Image Segmentation