实现OnScrollListener 接口重写onScrollStateChanged 和onScroll方法实现分页加载
**原理:
实现”滑动“后处理检查是否还有新的记录,如果有,调用 addFooterView,添加记录到adapter, adapter调用 notifyDataSetChanged 更新数据;如果没有记录了,把自定义的mFooterView去掉。使用onScrollStateChanged可以检测是否滚到最后一行且停止滚动然后执行加载
**
lv_list.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view,
int scrollState) {
if (view.getLastVisiblePosition() == list.size() - 1
&& scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
// 需要加载的数据 网络请求数据
myAsyncTask = new MyAsyncTask();
myAsyncTask
.execute("http://www.oschina.net/action/api/news_list");
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});