listview加载刷新加载更多的逻辑
来源:互联网 发布:sql查询所有表 编辑:程序博客网 时间:2024/05/20 16:44
1、三种网络请求方式
private static final int REQ_FIRST_GET = 0;
private static final int REQ_PULL_TO_REFRESH = 1;
private static final int REQ_SCROLL_TO_REFRESH = 2;
2、请求控制码
mReqCode
3、界面逻辑
(1)加载数据之前,先显示蒙版
(2)用户离线,显示离线提示
4、网络请求的处理逻辑
(1)第一步:判断是否有网络,有网络则进入网络请求,没有网络,则显示提示
REQ_FIRST_GET :
mLoadingCover.onFailed();
REQ_PULL_TO_REFRESH :
mPullList.getLoadingLayoutProxy(true, false).setRefreshingStatus(ILoadingLayout.REFRESHING_STATUS_FAILED);
REQ_SCROLL_TO_REFRESH:
mFooterView.stopLoading(Define.MSG_NULL_CONNECT);
(2)网络请求返回
(2.1)失败
REQ_FIRST_GET :
mLoadingCover.onFailed();
REQ_PULL_TO_REFRESH :
mPullList.getLoadingLayoutProxy(true, false).setRefreshingStatus(ILoadingLayout.REFRESHING_STATUS_FAILED);
REQ_SCROLL_TO_REFRESH:
mFooterView.stopLoading(Define.MSG_LOAD_FAILED_LOAD_AGAIN);
(2.2)成功
ret == 0
REQ_FIRST_GET ,REQ_PULL_TO_REFRESH
解析数据,到tempdata中,handler发送(清空+刷新)
REQ_SCROLL_TO_REFRESH
解析数据,到tempdata中,handler发送(刷新)
更新ui
ret == 0:
REQ_FIRST_GET :
mLoadingCover.onfinish()
判断数据和limit的值,设置footerview的显示和可点击
REQ_PULL_TO_REFRESH :
mPullList.getLoadingLayoutProxy(true, false).setRefreshingStatus(ILoadingLayout.REFRESHING_STATUS_Ok);
判断数据和limit的值,设置footerview的显示和可点击
REQ_SCROLL_TO_REFRESH:
判断数据和limit的值,设置footerview的显示和可点击
ret == 2:
REQ_FIRST_GET :
loadingcover.onfaile()
显示离线
REQ_PULL_TO_REFRESH :
listview设置失败
显示离线
REQ_SCROLL_TO_REFRESH:
设置失败
显示离线
ret == 4:
REQ_FIRST_GET :
loadingcover.onfaile()提示暂无数据
REQ_PULL_TO_REFRESH :
listview设置失败
REQ_SCROLL_TO_REFRESH:
设置无更多数据
private static final int REQ_FIRST_GET = 0;
private static final int REQ_PULL_TO_REFRESH = 1;
private static final int REQ_SCROLL_TO_REFRESH = 2;
2、请求控制码
mReqCode
3、界面逻辑
(1)加载数据之前,先显示蒙版
(2)用户离线,显示离线提示
4、网络请求的处理逻辑
(1)第一步:判断是否有网络,有网络则进入网络请求,没有网络,则显示提示
REQ_FIRST_GET :
mLoadingCover.onFailed();
REQ_PULL_TO_REFRESH :
mPullList.getLoadingLayoutProxy(true, false).setRefreshingStatus(ILoadingLayout.REFRESHING_STATUS_FAILED);
REQ_SCROLL_TO_REFRESH:
mFooterView.stopLoading(Define.MSG_NULL_CONNECT);
(2)网络请求返回
(2.1)失败
REQ_FIRST_GET :
mLoadingCover.onFailed();
REQ_PULL_TO_REFRESH :
mPullList.getLoadingLayoutProxy(true, false).setRefreshingStatus(ILoadingLayout.REFRESHING_STATUS_FAILED);
REQ_SCROLL_TO_REFRESH:
mFooterView.stopLoading(Define.MSG_LOAD_FAILED_LOAD_AGAIN);
(2.2)成功
ret == 0
REQ_FIRST_GET ,REQ_PULL_TO_REFRESH
解析数据,到tempdata中,handler发送(清空+刷新)
REQ_SCROLL_TO_REFRESH
解析数据,到tempdata中,handler发送(刷新)
更新ui
ret == 0:
REQ_FIRST_GET :
mLoadingCover.onfinish()
判断数据和limit的值,设置footerview的显示和可点击
REQ_PULL_TO_REFRESH :
mPullList.getLoadingLayoutProxy(true, false).setRefreshingStatus(ILoadingLayout.REFRESHING_STATUS_Ok);
判断数据和limit的值,设置footerview的显示和可点击
REQ_SCROLL_TO_REFRESH:
判断数据和limit的值,设置footerview的显示和可点击
ret == 2:
REQ_FIRST_GET :
loadingcover.onfaile()
显示离线
REQ_PULL_TO_REFRESH :
listview设置失败
显示离线
REQ_SCROLL_TO_REFRESH:
设置失败
显示离线
ret == 4:
REQ_FIRST_GET :
loadingcover.onfaile()提示暂无数据
REQ_PULL_TO_REFRESH :
listview设置失败
REQ_SCROLL_TO_REFRESH:
设置无更多数据
0 0
- listview加载刷新加载更多的逻辑
- listview刷新、加载更多
- Android --- 加载更多,刷新的逻辑----
- ListView的下拉刷新,点击加载更多
- ListView 下拉刷新 加载更多
- listView控件刷新、加载更多
- listView的加载更多
- PullToRefresh实现ListView的刷新,加载更多的展示
- 下拉刷新,上拉加载更多的ListView
- Android ListView下拉刷新上拉加载更多的实现
- listView 模仿ios的上拉刷新下拉加载更多
- Android listView的上拉刷新(加载更多)
- listview下拉刷新,上拉加载更多的实现方法
- ListView的上拉刷新下拉加载更多
- listview的下拉刷新和上拉加载更多
- listview的上拉加载更多和下拉刷新
- 安卓下拉刷新上拉加载更多的listview
- Android下拉刷新上拉加载更多的扩展ListView
- Spring中的beanFactory和ApplicationContext的有什么区别和关联
- android悬浮窗口的实现
- 电力大数据
- android studio启动问题
- 算法学习 - 图的拓扑排序
- listview加载刷新加载更多的逻辑
- android点击事件(View)
- 如何记录Listview中item的点击状态
- ceph存储 快速传输大数据(tar+lz4+pv)
- Linux C编程一站式学习第一章
- hdu1867
- Objective-C 类的初始化
- c/c++中的数组指针,指针数组,常量指针和指针常量
- 构建高可扩Web架构和分布式系统实战(下)