Android ListView 和ScroolView 出现onmeasure空指针的解决办法

 更新时间:2017年02月22日 17:10:13   投稿:lqh  
这篇文章主要介绍了Android ListView 和ScroolView 出现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即可。原因如上。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Android WebView实现网页滚动截图

    Android WebView实现网页滚动截图

    这篇文章主要为大家详细介绍了Android WebView实现网页滚动截图,对整个网页进行截屏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android实现手机监控摄像头

    Android实现手机监控摄像头

    这篇文章主要为大家详细介绍了Android实现手机监控摄像头,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Intel HAXM为Android 模拟器加速解决模拟器运行慢的问题

    Intel HAXM为Android 模拟器加速解决模拟器运行慢的问题

    Android 模拟器一直以运行速度慢著称, 本文介绍使用 Intel HAXM 技术为 Android 模拟器加速, 使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题,感兴趣的朋友可以了解下哦
    2013-01-01
  • android设备不识别awk命令 缺少busybox怎么办

    android设备不识别awk命令 缺少busybox怎么办

    这篇文章主要为大家详细介绍了android设备不识别awk命令,缺少busybox的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 解决android studio 打包发现generate signed apk 消失不见问题

    解决android studio 打包发现generate signed apk 消失不见问题

    这篇文章主要介绍了解决android studio 打包发现generate signed apk 消失不见问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Android 日志系统Logger源代码详细介绍

    Android 日志系统Logger源代码详细介绍

    本文主要介绍Android 日志系统Logger,这里整理了关于Android源码的日志系统资料,有研究Android源码的朋友可以参考下
    2016-08-08
  • Android 图片处理避免出现oom的方法详解

    Android 图片处理避免出现oom的方法详解

    本篇文章主要介绍了Android 图片处理避免出现oom的方法详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Android编程实现列表侧滑删除的方法详解

    Android编程实现列表侧滑删除的方法详解

    这篇文章主要介绍了Android编程实现列表侧滑删除的方法,结合实例形式详细分析了Android列表侧滑删除功能的原理与具体实现技巧,注释中包含详尽的说明,需要的朋友可以参考下
    2018-01-01
  • android如何获取view在布局中的高度与宽度详解

    android如何获取view在布局中的高度与宽度详解

    这篇文章主要给大家介绍了关于android如何获取view在布局中的高度与宽度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Android 文件存储与SharedPreferences存储方式详解用法

    Android 文件存储与SharedPreferences存储方式详解用法

    SharedPreferences是安卓平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出
    2021-10-10

最新评论