首先,我已经想出了如何解决这个错误,但此时我只是想知道为什么我的修复工作有效。我遇到的情况是,ClassCastException, cannot convert LinearLayout$LayoutParams to AbsListView$LayoutParams
当我尝试执行以下操作时(为了这些目的而简化):
mLayout = (LinearLayout) getLayoutInflater()
.inflate(R.layout.my_header_layout,
getListView(), false);
mRootView.addView(mLayout);
getListView().addHeaderView(mLayout);
getListView().setAdapter(mAdapter);
我最终将其分解并发现当我删除对mRootView.addView(mLayout)
我的两个问题是,为什么会这样?首先,在概念方面,为什么当标题视图已经在布局中时,整个事情就死了?是因为该视图实际上试图布局两次:一次用于标题,一次用于实际布局?
其次,为什么会出现这个异常?它看起来非常不具描述性,而且看起来根本没有抓住实际问题?这是因为较低级别的功能无论如何都会在结果上失败而没有处理高级问题的情况吗?