
我在片段中使用它.
ListVIEw lv;linearLayout header = (linearLayout) rootVIEw.findVIEwByID(R.ID.header_layout);lv.addheaderVIEw(header);// APP is crashing here?
logcat的
java.lang.classCastException: androID.Widget.AbsListVIEw$LayoutParams cannot be cast to androID.Widget.relativeLayout$LayoutParams at androID.Widget.relativeLayout$DependencyGraph.findRoots(relativeLayout.java:1732) at androID.Widget.relativeLayout$DependencyGraph.getSortedVIEws(relativeLayout.java:1677) at androID.Widget.relativeLayout.sortChildren(relativeLayout.java:381) at androID.Widget.relativeLayout.onMeasure(relativeLayout.java:389) at androID.vIEw.VIEw.measure(VIEw.java:17547) at androID.vIEw.VIEwGroup.measureChilDWithmargins(VIEwGroup.java:5535) at androID.Widget.linearLayout.measureChildBeforeLayout(linearLayout.java:1436) at androID.Widget.linearLayout.measureVertical(linearLayout.java:722) at androID.Widget.linearLayout.onMeasure(linearLayout.java:613) at androID.vIEw.VIEw.measure(VIEw.java:17547) at androID.vIEw.VIEwGroup.measureChilDWithmargins(VIEwGroup.java:5535) at androID.Widget.FrameLayout.onMeasure(FrameLayout.java:436) at androID.vIEw.VIEw.measure(VIEw.java:17547)解决方法 我们可以向ListVIEw添加标题,如下所示:
LayoutInflater myinflater = getLayoutInflater();VIEwGroup myheader = (VIEwGroup)myinflater.inflate(R.layout.headerlayout,myListVIEw,false);myListVIEw.addheaderVIEw(myheader,null,false);
但是,根据您的错误,您可能已经在xml和java文件中使用了相对布局,您正在使用linearLayout.
您还必须将ListVIEw初始化为:
lv=(ListVIEw)findVIEwByID(R.ID.yourListvIEw);`总结
以上是内存溢出为你收集整理的android – 如何将listView标头添加为自定义布局全部内容,希望文章能够帮你解决android – 如何将listView标头添加为自定义布局所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)