android.widget.HeaderViewListAdapter canot be cast xxxx
2013-12-16 10:39
253 查看
用listview设置header或footerview,通常发生该异常。
如果你没有发生,那是碰巧。但是你可能不知道原因。
如果在listview.setAdapter(adapter)方法之后 添加头或尾view,
即addHeaderView或 addFooterView,
那么在你listView.removeHearderView或removeFooterView时就会报该异常。
在Listview的源码中如果设置了adapter,那么它会强转成HeaderViewListAdapter,所以就会报错。
解决方案:
1、
在setAdapter之前调用addHeaderView或addFooterVeiw
2、
如果你没有发生,那是碰巧。但是你可能不知道原因。
如果在listview.setAdapter(adapter)方法之后 添加头或尾view,
即addHeaderView或 addFooterView,
那么在你listView.removeHearderView或removeFooterView时就会报该异常。
在Listview的源码中如果设置了adapter,那么它会强转成HeaderViewListAdapter,所以就会报错。
if (mAdapter != null && ((HeaderViewListAdapter) mAdapter).removeHeader(v)) { if (mDataSetObserver != null) { mDataSetObserver.onChanged(); } result = true; }
解决方案:
1、
在setAdapter之前调用addHeaderView或addFooterVeiw
2、
CommentAdapter adapter = null; if(lv_comment.getAdapter() instanceof HeaderViewListAdapter){ HeaderViewListAdapter listAdapter = (HeaderViewListAdapter) lv_comment.getAdapter(); adapter = (CommentAdapter) listAdapter.getWrappedAdapter(); }else{ adapter = (CommentAdapter) lv_comment.getAdapter(); }
相关文章推荐
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- 异常 java.lang.ClassCastException:cannot be cast to android.widget.HeaderViewListAdapter.的解决方法
- java.lang.ClassCastException: android.widget.HeaderViewListAdapter cannot be cast to com.android.mms
- cannot be cast to android.widget.HeaderViewListAdapter
- [android] cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast toandroid.widget.HeaderViewListAdapter
- Error: cannot be cast to android.widget.HeaderViewListAdapter
- 奇葩问题cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- cannot be cast to android.widget.HeaderViewListAdapter
- java.lang.Class Cast Exception: android.widget.HeaderViewListAdapter
- java.lang.Class Cast Exception: android.widget.HeaderViewListAdapter
- java.lang.Class Cast Exception: android.widget.HeaderViewListAdapter
- java.lang.Class Cast Exception: android.widget.HeaderViewListAdapter
- Android ListView分页时出现java.lang.ClassCastException: android.widget.HeaderViewListAdapter异常
- java.lang.Class Cast Exception: android.widget.HeaderViewListAdapter
- HeaderViewListAdapter cannot be cast to listAdapter问题原因及解决办法
- android XListView E/AndroidRuntime(7367):at android.widget.HeaderViewListAdapter.isEnabled