android组件调用onMeasure时报空指针

举报
程思扬 发表于 2022/01/14 00:07:08 2022/01/14
【摘要】 android.view.View.measure(int widthMeasureSpec, int heightMeasureSpec) 这个函数时,如果这个View是通过LayoutInflater来构建的,会报: java.lang.NullPointerException at&...
android.view.View.measure(int widthMeasureSpec, int heightMeasureSpec)

这个函数时,如果这个View是通过LayoutInflater来构建的,会报:

java.lang.NullPointerException
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:529)
at android.view.View.measure(View.java:15676)

空指针的原因是用Inflater渲染组件的时候并没有给其指定父控件,所以渲染器不会去解析width 和 height属性,就会导致空指针异常。
解决方法:

view.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

指定宽度和高度,然后调用measure方法就OK。
(这个解答来自:http://www.eoeandroid.com/forum.php?mod=redirect&goto=findpost&ptid=92706&pid=3380790 )

这里的WRAP_CONTENT可以根据View的具体长宽来设定。

文章来源: chengsy.blog.csdn.net,作者:程思扬,版权归原作者所有,如需转载,请联系作者。

原文链接:chengsy.blog.csdn.net/article/details/79484725

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。