您的位置:首页 > 移动开发 > Android开发

cannot be cast toandroid.widget.HeaderViewListAdapter

2015-04-21 17:36 393 查看



在做上拉刷新的时候,想要在下拉到底部的时候通过addFooterView给listview添加一个view,遇到这个异常

网上找到解决方法之后,记录下。

----------------------------------------------

cannot be cast toandroid.widget.HeaderViewListAdapter

用listview设置header或footerview,通常发生该异常。

如果你没有发生,那是碰巧。但是你可能不知道原因。

如果在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;

}



所以你一定要在setAdapter之前调用addHeaderView或addFooterVeiw.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐