首先上原貼地址異常描述 ,原貼說的不夠詳細,這里進行補充
原因一:
cannot be cast to android.widget.HeaderViewListAdapter異常,如果在listview.setAdapter(adapter)方法之后 添加頭或尾view,即addHeaderView或?addFooterView,那么在你listView.removeHearderView或removeFooterView時就會報該異常。
所以正常做法是 要在setAdapter之前調(diào)用addHeaderView或addFooterVeiw.
原因二:
通過 listView.getAdapter() 時報改異常, 通過listView拿到Adapter正確做法是:
adapter= (MyListViewAdapter)(((HeaderViewListAdapter)listView.getAdapter()).getWrappedAdapter());
listView.getAdapter 返回的類型為 HeaderViewListAdapter,通過HeaderViewListViewAdapter的getWrappedAdapter()方法可獲取ListViewAdapter類型Adapter.