不幸的是,你不提什麼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