在ListView中增加HeaderView和FootView

来源:互联网 发布:库里新秀赛季数据 编辑:程序博客网 时间:2024/05/19 13:22

http://1028826685.iteye.com/blog/1464489

在开发新浪微博的时候我使用了android中的ListView中的FootView来增加一个更多项来动态添加数据。但是我在开发的时候却遇到这个问题就是我添加了这个FootView的时候我通过在后台去下载数据比如:图片和一下文字信息的时候当后台有了数据过个通过消息机制来通知主线程去刷新UI(这里需要注意的是我们在开发当中所有的UI刷新必须在主线程去刷新界面,因为android中UI线程是不安全的其他我也不多说了网上有许多的资料啦...)回到问题当接收到了后台的消息过后我们要去刷新界面(主线程中)这是我们会调用 

:((homeActivityBaseAdapter)listView.getAdapter 
()).notifyDataSetChanged();这个方法去刷新界面。简单的介绍一下homeActivityBaseAdapter这个是我自定义的继承于BaseAdapter的适配器,这是系统会跑出异常:java.lang.ClassCastException:android.widget.HeaderViewListAdapter这时我们可以看到这个.HeaderViewListAdapter这个关键词,通过这个可以知道 
:android.widget.HeaderViewListAdapter 不能强转为listview的异常信息,这是因为当向listview中加入headerview或者footviwer时,调用ListView的setAdapter方法会将adapter转化为headerviewlistadapter 
解决方法: 
HeaderViewListAdapter listAdapter = (HeaderViewListAdapter) listView.getAdapter();  
homeActivityBaseAdapter adapter = (homeActivityBaseAdapter)listAdapter.getWrappedAdapter();  
adapter.notifyDataSetChanged(); 
。。。。希望对你有帮助哈!!!
0 0
原创粉丝点击