Android – ListView para cargar más elementos cuando se alcanza el final

Implementé con éxito un ListView donde cada fila es un objeto que he creado. Tengo una interfaz que lee algunos objetos y devuelve una matriz de ellos, que paso al constructor del adaptador. Lo que quiero hacer es, dado que la lista puede ser muy larga, Mi interfaz permite leer cada vez más elementos (página 0, página 1 …) así que quiero, cuando el usuario llegue a la última fila de la lista, carga la siguiente página e insértala a listView. ¿Cuál es la forma correcta de hacerlo? De hecho, quiero que el “llegar al final de la lista” active una callback en la que pueda solicitar más páginas y cargarlas en la lista. Un poco de OT para mi pregunta principal, pero no me importa usar un Adaptador base, ambos funcionarían, simplemente no sé qué es lo mejor para la tarea.

Puede agregar un pie de página en ListView, que tendrá un botón llamado LoadMore. Aquí hay un tutorial completo ListView con el botón Cargar más o puede implementar onscrolllistener () y agregar este oyente a su ListView

public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { this.currentFirstVisibleItem = firstVisibleItem; this.currentVisibleItemCount = visibleItemCount; } public void onScrollStateChanged(AbsListView view, int scrollState) { this.currentScrollState = scrollState; this.isScrollCompleted(); } private void isScrollCompleted() { if (this.currentVisibleItemCount > 0 && this.currentScrollState == SCROLL_STATE_IDLE) { /*** In this way I detect if there's been a scroll which has completed ***/ /*** do the work for load more date! ***/ if(!isLoading){ isLoading = true; loadMoreData(); } } } 

Espero que ayude