在Android项目中 经常需要用到动态加载 listview 的情况 每一次加载一定数量的item 这样可以避免因为一次性加载过多的数据 而导致内存紧张的问题
实现listview的动态加载主要是实现 OnScrollListener 滚动监听函数
判断是否滑倒了当前list的最后一行 和是否停止滑动 并且在停止滑动的时候 进行加载
加载过程是将新数据添加到 当前的 arraylist中 然后 进行adapter的更新 【 notifyDataSetChanged()】即可完成
主要实现的两个函数为:
public void onScrollStateChanged(AbsListView arg0, int scrollState) {
// TODO Auto-generated method stub
if(isAll&&isLastLine&&scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE){
//判断是否停止滑动 和是否是最有一行 是否全部读取了服务器的数据 然后执行加载请求
// TODO Auto-generated method stub
loadData();
isLastLine=false;
}
}
@Override
public void onScroll(AbsListView arg0, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
if(firstVisibleItem+visibleItemCount==totalItemCount&&totalItemCount>0){
判断是否为最后一行
isLastLine = true;
}
}