尚硅谷-杨光福-北京新闻day4.docx

上传人:cn****1 文档编号:550484227 上传时间:2023-07-15 格式:DOCX 页数:43 大小:318.61KB
返回 下载 相关 举报
尚硅谷-杨光福-北京新闻day4.docx_第1页
第1页 / 共43页
尚硅谷-杨光福-北京新闻day4.docx_第2页
第2页 / 共43页
尚硅谷-杨光福-北京新闻day4.docx_第3页
第3页 / 共43页
尚硅谷-杨光福-北京新闻day4.docx_第4页
第4页 / 共43页
尚硅谷-杨光福-北京新闻day4.docx_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《尚硅谷-杨光福-北京新闻day4.docx》由会员分享,可在线阅读,更多相关《尚硅谷-杨光福-北京新闻day4.docx(43页珍藏版)》请在金锄头文库上搜索。

1、新闻客户端讲师:杨光福微博:http:/ Day41_自定义ListView(加载更多)-4201_添加角布局 1_初始化和隐藏代码在RefreshListView构造方法中调用/* * 添加角布局 * param context */private void initFooterView(Context context) View footerView = View.inflate(context, R.layout.refresh_listview_footer, null);/隐藏代码footerView.measure(0, 0);int footerViewHeight = foot

2、erView.getMeasuredHeight();footerView.setPadding(0, -footerViewHeight, 0, 0);this.addFooterView(footerView);2_布局文件refresh_listview_footer.xml 02_拖动到底部的时候显示角1_拖动到底部显示加载更多布局/* * 当滚动状态改变的时候触发此方法 * */Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) /当停止滚动时或者惯性滚动时,ListView的最后一个

3、显示的条目:getCount()-1if(scrollState = SCROLL_STATE_IDLE|scrollState = SCROLL_STATE_FLING)if(getLastVisiblePosition() =(getCount()-1)/滑动到最后一个可以看到的ItemSystem.out.println(滑动到最后一个可以看到的Item);isLoadingMore = true;/把底部加载显示footerView.setPadding(0, 0, 0, 0);setSelection(getCount();/调用if(mOnRefreshListener !=nul

4、l)mOnRefreshListener.onLoadingMore(); Overridepublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) /* * 自定义刷新接口 * */public interface OnRefreshListener/* * 当下拉刷新的时候回调这儿方法 */public void onPullDownRefresh();/* * 当加载更多的时候回调这个方法 */public void onLoadingMore

5、();/* * 当数据请求成功或者失败的时候,状态还原 */public void onRefreshFinish(boolean isSuccess)/判断是否是加载更多if(isLoadingMore)footerView.setPadding(0, -footerViewHeight, 0, 0);isLoadingMore = false;else/隐藏下拉刷新控件refreshHeaderView.setPadding(0, -headerViewHeight, 0, 0);currentState = PULL_DOWN_REFRESH;ivArrow.clearAnimation

6、();mProgressBar.setVisibility(View.INVISIBLE);ivArrow.setVisibility(View.VISIBLE);tvState.setText(下拉刷新);if(isSuccess)/设置更新时间tvTime.setText(最后刷新的时间:+getSystemTime(); 2_联网请求加载更多数据 /* * 菜单页面对应的新闻页签页面 * 总共有12个 * author Administrator * */public class TabMenuDetailPager extends MenuDetailBasePager impleme

7、nts OnPageChangeListener /* * 新闻中心-新闻菜单对应的标签对应的数据 */private NewCenterTag newCenterTag;./* * 加载更多数据的URL */private String moreUrl; /* * 是否加载更多数据中 */protected boolean isLoadingMore = false; . Overridepublic View initView() View view = View.inflate(mActivity, R.layout.tab_detail, null);/把View注入到XUtils框架

8、中ViewUtils.inject(this, view);./设置监听下拉刷新mListView.setOnRefreshListener(new OnRefreshListener() Overridepublic void onPullDownRefresh() isPullDownRefreshing = true;getDataFromNet(); Overridepublic void onLoadingMore() if(TextUtils.isEmpty(moreUrl)Toast.makeText(mActivity, 没有更多数据了, 1).show();mListView

9、.onRefreshFinish(false);else/有更多数据,要加载更多数据了getMoreDataFromNet(););return view;/* * 加载更多数据 */protected void getMoreDataFromNet() HttpUtils httpUtils = new HttpUtils();httpUtils.send(HttpMethod.GET, moreUrl, new RequestCallBack() Overridepublic void onSuccess(ResponseInfo responseInfo) System.out.prin

10、tln(加载更多数据成功:+responseInfo.result);mListView.onRefreshFinish(false);isLoadingMore = true;processData(responseInfo.result); Overridepublic void onFailure(HttpException error, String msg) mListView.onRefreshFinish(false);System.out.println(加载更多数据失败:+ msg);); /* * 处理和解析json数据 * param json */protected void processData(String json) TabDetailBean bean = parserJson(json);if(!isLoadingMore)System.out.println(bean.data.news.get(0).title);topnews = bean.data.topnews;/给ViewPager设置适配器TabDe

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号