android为数据显示提供了ListView控件,XListView(https://github.com/Maxwin-z/XListView-Android)扩展了系统的ListView控件,提供了下拉刷新和上拉分页加载功能,同时还有footer和header。
首先学习XListView的使用,然后分析实现的原理。这篇文章是第一步,XListView的使用笔记。
1) 将demo中文件复制到工程相应位置,包括三个java文件(XListView,footer和header),三个布局文件(footer,header和item,可以自己定义)。
2)在布局文件中使用XListView的全类名<com.example.customview.XListView></com.example.customview.XListView>。
3)代码中 mListView = (XListView) findViewById(R.id.xListView);
mListView.setPullLoadEnable(true);//否则不能上拉分页加载功能
设置mAdapter,最后设置
mListView.setXListViewListener(this);//同时需首先接口 implements IXListViewListener
实现未实现的方法:
@Override
public void onRefresh() {
// TODO Auto-generated method stub
dao.getDataFromServer();//重新从服务器获取数据,缓存到数据库中
allianceBusinesses=dao.loadData(allianceBusinesses, 0, numPerPage);//重新加载数据
myAdapter.notifyDataSetChanged();//adapter通知数据变化
onLoad();
}
@Override
public void onLoadMore() {
// TODO Auto-generated method stub
allianceBusinesses=dao.loadData(allianceBusinesses, allianceBusinesses.size(), numPerPage);//继续加载数据
myAdapter.notifyDataSetChanged();//adapter通知数据变化
onLoad();
}
private void onLoad() {
lv_alliancebusiness.stopRefresh();
lv_alliancebusiness.stopLoadMore();
lv_alliancebusiness.setRefreshTime("鍒氬垰");
}