为了账号安全,请及时绑定邮箱和手机立即绑定

当我隐藏头布局的时候报错,求助啊

按照老师的课程敲代码,当我需要隐藏头布局时,通知父布局宽和高,结果就报错了,找了好一半天,找好报错出现在“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)

正在回答

2 回答

我在网上查了一下,大致明白了,我由仔细的检查了一下,还是没有找到解决问题的方法。求助!

0 回复 有任何疑惑可以回复我~
#1

lynhao

老师那边有源码你对照一下因为就这么一段代码我不好分析
2015-12-08 回复 有任何疑惑可以回复我~
#2

sinaisgood 提问者

好的,非常谢谢。
2015-12-08 回复 有任何疑惑可以回复我~

楼主可以截图这样看起来好费神~

java.lang.RuntimeException: Unable to start activity ComponentInfo是说无法启动组件详情

估计是这个错误:因为setContentView()中指定的布局对象不是具体布局文件,而是一个引用,而该引用或许存在错误。系统加载时因不能分辨故而运行时异常 

LayoutInflater inflater = LayoutInflater.from(context);
header = inflater.inflate(R.layout.header_layout, null);  这个代码理解它的意思不?


0 回复 有任何疑惑可以回复我~
#1

sinaisgood 提问者

我在网上查了一下,大致明白了,我由仔细的检查了一下,还是没有找到解决问题的方法。求助!
2015-12-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android的ListView下拉刷新
  • 参与学习       44056    人
  • 解答问题       130    个

本课程就分享一个Android实现ListView下拉刷新功能的技巧

进入课程

当我隐藏头布局的时候报错,求助啊

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号