listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
// 停止的状态
case OnScrollListener.SCROLL_STATE_IDLE:
// 获取最后一个条目的索引值
int lastVisiblePosition = view.getLastVisiblePosition();
// 等于集合长度减一
if (lastVisiblePosition == strList.size() - 1) {
// 加载数组
// 改变index的值
index = index + Max;
// 显示
pb.setVisibility(View.VISIBLE);
loadData();
}
break;
// 惯性滑动
case OnScrollListener.SCROLL_STATE_FLING:
// Log.i(TAG, "fling........");
break;
// 滑动的状态
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
// Log.i(TAG, "scroll.......");
break;
default:
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// Log.i(TAG, "firstVisibleItem" + firstVisibleItem
// + "visibleItemCount" + visibleItemCount
// + "totalItemCount" + totalItemCount);
}
});
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
// 停止的状态
case OnScrollListener.SCROLL_STATE_IDLE:
// 获取最后一个条目的索引值
int lastVisiblePosition = view.getLastVisiblePosition();
// 等于集合长度减一
if (lastVisiblePosition == strList.size() - 1) {
// 加载数组
// 改变index的值
index = index + Max;
// 显示
pb.setVisibility(View.VISIBLE);
loadData();
}
break;
// 惯性滑动
case OnScrollListener.SCROLL_STATE_FLING:
// Log.i(TAG, "fling........");
break;
// 滑动的状态
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
// Log.i(TAG, "scroll.......");
break;
default:
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// Log.i(TAG, "firstVisibleItem" + firstVisibleItem
// + "visibleItemCount" + visibleItemCount
// + "totalItemCount" + totalItemCount);
}
});