不幸的是,你不提什么Android版本的错误报告的来源。然而,看看源代码,Android 2.1-update1似乎是一个不错的选择。
我会在整个方法只是复制到把事情说清楚:
public boolean removeFooterView(View v) {
if (mFooterViewInfos.size() > 0) {
boolean result = false;
if (((HeaderViewListAdapter) mAdapter).removeFooter(v)) { // <- line 274
mDataSetObserver.onChanged();
result = true;
}
removeFixedViewInfo(v, mFooterViewInfos);
return result;
}
return false;
}
现在比较上述removeFooterView(...)
方法具有更近的平台实现:
public boolean removeFooterView(View v) {
if (mFooterViewInfos.size() > 0) {
boolean result = false;
if (mAdapter != null && ((HeaderViewListAdapter) mAdapter).removeFooter(v)) {
if (mDataSetObserver != null) {
mDataSetObserver.onChanged();
}
result = true;
}
removeFixedViewInfo(v, mFooterViewInfos);
return result;
}
return false;
}
正如你所看到的,对于某些不是null
的成员,我补充了一些额外的支票。这表明,如果mAdapter == null
,第一种方法确实会在第274行失败,而这不会导致新的实现崩溃。
要解决它,你可能需要做的是试图删除页脚视图之前添加类似lv.getAdapter() != null
。
添加页脚的策略是什么?我对升级Froyo再次得到这个错误,并且listView.getFooterCount()> 0 –
工作围绕“lv.getAdapter()!= NULL”对我来说 – djleop
工作,我只好打电话给removeFooter()后,我设置适配器的可能性。 – salcosand