Easiest option
First you need to add a footer and assign an OnScrollListener
ProgressBar footer = new ProgressBar(this);
listView.addFooterView(footer);
listView.setOnScrollListener(scrollListener);
and this implementation of OnScrollListener
private AbsListView.OnScrollListener scrollListener = new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int lastInScreen = firstVisibleItem + visibleItemCount;
if(lastInScreen == totalItemCount && !isLoading){
loadMoreItems(totalItemCount - 1);
isLoading = true;
}
}
};
server gave me records of 10 items
isLoading changes when download is complete
totalItemCount - 1start position ( footer is also a list item)
adapter.addAll(list); adapter.notifyDataSetChanged (); isLoading = false;