博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发之XListview分页刷新,加载数据
阅读量:6900 次
发布时间:2019-06-27

本文共 3293 字,大约阅读时间需要 10 分钟。

首先我们把Xlistview的类包倒入工程

然后创建两个布局,头部和底部的布局:

头部布局:xlistview_footer.xml

底部布局:xlistview_header.xml

 

values文件下的strings.xml

   
下拉刷新
松开刷新数据
正在加载...
上次更新时间:
查看更多
松开载入更多

 

 MainActivity的布局:

  

 

 

这是主代码引用Xlistveiw的方法:

public class MainActivity extends Activity implements IXListViewListener {    int catalog = 1;    int pageIndex = 1;    int pageSize = 20;    private XListView xlv;    private List
listnews; private List
alllistnews = new ArrayList
(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xlv = (XListView) findViewById(R.id.xlv_main); xlv.setPullLoadEnable(true); xlv.setPullRefreshEnable(true); xlv.setXListViewListener(this); gethttp(); } private void gethttp() { // TODO Auto-generated method stub String url = "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex=" + pageIndex + "&pageSize=20"; HttpUtils httpUtils = new HttpUtils(); httpUtils.send(HttpMethod.GET, url, new RequestCallBack
() { @Override public void onFailure(HttpException arg0, String arg1) { // TODO Auto-generated method stub Log.i("TAG", "----------请求失败了---------------"); } @Override public void onSuccess(ResponseInfo
arg0) { // TODO Auto-generated method stub // Log.i("TAG", result.toString()); // 解析xml数据 XStream stream = new XStream(); stream.processAnnotations(XmlData.class); XmlData xdata = (XmlData) stream.fromXML(arg0.result); listnews = xdata.getNewslist().getNews(); // Log.i("TAG", xdata.toString()); alllistnews.addAll(listnews); xlv.setAdapter(new Myadapter(getApplicationContext(), alllistnews)); } }); } @Override public void onRefresh() { // TODO Auto-generated method stub pageIndex++; listnews.clear(); alllistnews.clear(); gethttp(); onLoad(); } @Override public void onLoadMore() { // TODO Auto-generated method stub pageIndex++; gethttp(); onLoad(); } private void onLoad() { // TODO Auto-generated method stub xlv.stopRefresh(); xlv.stopLoadMore(); // 设置日期格式 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 获取当前系统时间 String nowTime = df.format(new Date(System.currentTimeMillis())); // 释放时提示正在刷新时的当前时间 xlv.setRefreshTime(nowTime); }}

 

转载于:https://www.cnblogs.com/bokeyuan007/p/5356741.html

你可能感兴趣的文章
ChartControl第一课简短的控件初步设计
查看>>
个人博客作业三:微软小娜APP的案例分析
查看>>
python-玉米(小米)商城作业
查看>>
游戏超写实贴图制作技巧
查看>>
Unity Shader 创建程序纹理贴图
查看>>
uGUI知识点剖析之AutoLayout
查看>>
Eclipse调试DEBUG时快速查看某个变量的值的快捷键
查看>>
C#的Compiler Error CS1660
查看>>
记录未预编译文件“*.aspx”,因此不能请求该文件的几种处理办法
查看>>
《大话设计模式》读书笔记-第15章 抽象工厂模式
查看>>
一个朋友
查看>>
转:汉字转拼音 - 输入汉字获取其拼音
查看>>
webservice(pers)
查看>>
hbase源码系列(十五)终结篇&Scan续集-->如何查询出来下一个KeyValue
查看>>
Linux学习总结(4)——Centos6.5使用yum安装mysql——快速上手必备
查看>>
Spring Boot学习总结(1)——Spring Boot入门
查看>>
C/C++ 宏带来的奇技淫巧 转载
查看>>
CocoaPods requires your terminal to be using UTF-8 encoding
查看>>
CSS3 圆角(border-radius)
查看>>
最大子数组
查看>>