在ListView中增加HeaderView和FootView
16lz
2021-01-26
在开发新浪微博的时候我使用了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();
。。。。希望对你有帮助哈!!!
:((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();
。。。。希望对你有帮助哈!!!
更多相关文章
- 三种方法,刷新 Android(安卓)的 MediaStore!让你保存的图片立即出
- Android新姿势:可以下拉/上拉回弹的ListView原理
- 【安卓】主线程与子线程的五种通信方式
- 关于Handler处理UI线程的更新及Handler译文
- Android(安卓)下拉/上拉刷新/左滑删除控件
- Android(安卓)结合源码和实例理解消息机制
- Android中利用Handler在子线程中更新界面--简单的小球上下跳动案
- Android主线程looper是死循环问题
- Android中后台定时任务实现,即时数据同步问题思考!