Android-将HeaderView添加到ListView会引发ClassCastException

Android-将HeaderView添加到ListView会引发ClassCastException,android,listview,header,classcastexception,layoutparams,Android,Listview,Header,Classcastexception,Layoutparams,有人知道如何在android中正确地将HeaderView添加到ListView吗?这就是我所拥有的: LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View inflatedView = inflater.inflate(R.layout.adapter_post_note, commentsListView, false); 之后,通过设置图

有人知道如何在android中正确地将HeaderView添加到ListView吗?这就是我所拥有的:

LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View inflatedView = inflater.inflate(R.layout.adapter_post_note, commentsListView, false);
之后,通过设置图像资源和/或文本,我设置了一个ImageView和一对TextView,它们已经是adapter_post_便笺布局的一部分。然后在这里添加HeaderView

commentsListView.addHeaderView(inflatedView);
commentsAdapter = new CommentsAdapter(this, post.getComments(), post);
commentsListView.setAdapter(commentsAdapter);
适配器是一个自定义适配器,它扩展了BaseAdapter和我在上下文中传递的、填充ListView的列表,以及出于某种原因传递的“post”,但这并不重要

这是我得到的错误

07-16 12:39:58.858: E/AndroidRuntime(1562): FATAL EXCEPTION: main
07-16 12:39:58.858: E/AndroidRuntime(1562): java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:360)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.view.View.measure(View.java:8372)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.view.View.measure(View.java:8372)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.view.View.measure(View.java:8372)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.view.ViewRoot.performTraversals(ViewRoot.java:844)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1868)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.os.Looper.loop(Looper.java:130)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at android.app.ActivityThread.main(ActivityThread.java:3701)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at java.lang.reflect.Method.invokeNative(Native Method)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at java.lang.reflect.Method.invoke(Method.java:507)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
07-16 12:39:58.858: E/AndroidRuntime(1562):     at dalvik.system.NativeStart.main(Native Method)
我已尝试将inflatedView的布局参数设置为ListView.LayoutParams、FrameLayout.LayoutParams、AbsListView.LayoutParams,但没有任何效果。在我看来,它似乎正在添加充气视图作为标题,但后来当它试图使屏幕无效时,它试图遍历并回收ListView子状态,但失败了,这只是猜测,但有什么想法吗

还有一件事我也试过了

View.inflate(this, R.layout.adapter_post_note, null);

但是它仍然不起作用

将父视图设置为null,就可以开始了。不需要引用视图的父级。只需将其充气并传递给方法。

谢谢!这很管用,我还删除了另一行代码,这可能是问题所在,但我会按照你的答案来解决,而不是删除的那行,哈哈。