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的具体长宽来设定。