从网络获取数据,分三种情况:
1. 打开界面初次获取数据
2. 下拉刷新获取数据
3. 上拉加载获取更多数据
示例代码片段:
void loadData() {
// 定义回调处理
CallBackAdapter callBack = new CallBackAdapter() {
@Override
public void onBegin() {
showWaitView();
hideRefreshView();
}
@Override
public void onComplete(IVideoResult result) {
// 加载数据
if(result.isSuccess()) {
List<VideoItemData> items = ((TodayRankResult)result).getData();
if(isPullUp) {
if(items.size() != 0)
data.addAll(items);
else
UIUtils.showToast(context, "亲,没有更多数据了。");
}
else {
data = items;
}
dataAdapter.notifyDataChanged(data);
} else {
UIUtils.showToast(context, getString(R.string.load_fail_tray_again_later));
}
hideWaitView();
// 结束上拉刷新
if(isPullDownRefresh) {
pullToRefreshView.onHeaderRefreshComplete();
isPullDownRefresh = false;
// 滚动到ListView顶部
listView.setSelection(listView.getTop());
}
// 结束下拉加载更多
if(isPullUp) {
pullToRefreshView.onFooterRefreshComplete();
isPullUp = false;
// 滚动到ListView底部
listView.setSelection(listView.getBottom());
}
}
};
// 请求获取数据
Map<String, String> params = new HashMap<String, String>();
if(isPullUp)
params.put("offset", ""+data.size());
IVideoFetcher.doGet(TodayRankResult.class, callBack, IVideoURL.TvieURL.TODAY_RANK_URL, params);
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。