cannot be cast to android.widget

2017-02-21  本文已影响84人  二鸭儿

首先上原贴地址异常描述 ,原贴说的不够详细,这里进行补充

原因一:

cannot be cast to android.widget.HeaderViewListAdapter异常,如果在listview.setAdapter(adapter)方法之后 添加头或尾view,即addHeaderView或 addFooterView,那么在你listView.removeHearderView或removeFooterView时就会报该异常。

所以正常做法是 要在setAdapter之前调用addHeaderView或addFooterVeiw.

原因二:

通过 listView.getAdapter() 时报改异常, 通过listView拿到Adapter正确做法是:

adapter= (MyListViewAdapter)(((HeaderViewListAdapter)listView.getAdapter()).getWrappedAdapter());

listView.getAdapter 返回的类型为 HeaderViewListAdapter,通过HeaderViewListViewAdapter的getWrappedAdapter()方法可获取ListViewAdapter类型Adapter.

上一篇 下一篇

猜你喜欢

热点阅读