从网络获取数据,分三种情况:
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); }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。