当我隐藏头布局的时候报错,求助啊
按照老师的课程敲代码,当我需要隐藏头布局时,通知父布局宽和高,结果就报错了,找了好一半天,找好报错出现在“View.measure(width,height)”,但找不到解决的方法,求助。以下是我敲的代码,和log日志
private void measureView(View view) {
ViewGroup.LayoutParams p = view.getLayoutParams();
if (p == null) {
p = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
}
int width = ViewGroup.getChildMeasureSpec(0, 0, p.width);
Log.d("measureView2", "width=" + width + "");
int height;
int tempHeight = p.height;
if (tempHeight > 0) {
height = MeasureSpec.makeMeasureSpec(tempHeight,
MeasureSpec.EXACTLY);
} else {
height = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
}
Log.d("measureView5", "height = " + height + "");
view.measure(width, height);//报错的地方,如果注释了就不会报错,
}
Log日志文件
12-08 07:48:41.610: E/AndroidRuntime(2037): FATAL EXCEPTION: main
12-08 07:48:41.610: E/AndroidRuntime(2037): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.listviewupdata/com.example.listviewupdate.MainActivity}: android.view.InflateException: Binary XML file line #11: Error inflating class com.example.listviewupdate.FlashListview
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.ActivityThread.access$600(ActivityThread.java:130)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.os.Handler.dispatchMessage(Handler.java:99)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.os.Looper.loop(Looper.java:137)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.ActivityThread.main(ActivityThread.java:4745)
12-08 07:48:41.610: E/AndroidRuntime(2037): at java.lang.reflect.Method.invokeNative(Native Method)
12-08 07:48:41.610: E/AndroidRuntime(2037): at java.lang.reflect.Method.invoke(Method.java:511)
12-08 07:48:41.610: E/AndroidRuntime(2037): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
12-08 07:48:41.610: E/AndroidRuntime(2037): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-08 07:48:41.610: E/AndroidRuntime(2037): at dalvik.system.NativeStart.main(Native Method)
12-08 07:48:41.610: E/AndroidRuntime(2037): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class com.example.listviewupdate.FlashListview
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.view.LayoutInflater.createView(LayoutInflater.java:613)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
12-08 07:48:41.610: E/AndroidRuntime(2037): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:256)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.Activity.setContentView(Activity.java:1867)
12-08 07:48:41.610: E/AndroidRuntime(2037): at com.example.listviewupdate.MainActivity.onCreate(MainActivity.java:28)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.Activity.performCreate(Activity.java:5008)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
12-08 07:48:41.610: E/AndroidRuntime(2037): ... 11 more
12-08 07:48:41.610: E/AndroidRuntime(2037): Caused by: java.lang.reflect.InvocationTargetException
12-08 07:48:41.610: E/AndroidRuntime(2037): at java.lang.reflect.Constructor.constructNative(Native Method)
12-08 07:48:41.610: E/AndroidRuntime(2037): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.view.LayoutInflater.createView(LayoutInflater.java:587)
12-08 07:48:41.610: E/AndroidRuntime(2037): ... 22 more
12-08 07:48:41.610: E/AndroidRuntime(2037): Caused by: java.lang.NullPointerException
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:465)
12-08 07:48:41.610: E/AndroidRuntime(2037): at android.view.View.measure(View.java:15172)
12-08 07:48:41.610: E/AndroidRuntime(2037): at com.example.listviewupdate.FlashListview.measureView(FlashListview.java:107)
12-08 07:48:41.610: E/AndroidRuntime(2037): at com.example.listviewupdate.FlashListview.initView(FlashListview.java:47)
12-08 07:48:41.610: E/AndroidRuntime(2037): at com.example.listviewupdate.FlashListview.<init>(FlashListview.java:27)