从网络获取数据三种情况
从网络获取数据,分三种情况:
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);}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。