时间:2021-05-21
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即可。原因如上。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android中ScrollView与ListView冲突问题的解决办法自定义MyListViewpublicclassMyListViewextendsLis
Android将view转换为Bitmap出现空指针问题解决办法在做Android项目的时候,有时候可能有这样的需求,将一个View或者一个布局文件转换成一个B
AndroidScrollView下嵌套ListView或GridView出现问题解决办法ScrollView下嵌套ListView或GridView会发列表现
AndroidgetActivity()为空的问题解决办法在开发项目中有时会碰到getActivity函数为空的情况,导致apk空指针崩溃问题,看代码逻辑没有明
AndroidListView异常解决办法:ListView:ThecontentoftheadapterhaschangedbutListViewdidnot