studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android listview

android - programacion - Implementar desplazamiento sin fin en ListView



manual de programacion android pdf (2)

Pruebe con OnScrollListener Simplemente agregue los elementos a su ListView en su

public void onScroll(AbsListView view, int firstVisible, int visibleCount, int totalCount) { // Add the items } }

Y al configurar su adapter.notifyDataSetChanged() se mostrarán los elementos agregados en su ListView Aquí le doy un ejemplo de cómo integrar el onScrollListener con su ListView

  1. Lista infinita de Android

  2. Endless Scrolling Listview

  3. Endless ListView

Me gustaría implementar scroll sin fin en un componente ListView de Android, que agregará nuevos elementos a la parte inferior de la vista de lista cuando se desplaza al último elemento de la lista.


implementar el onscrolllistener ()

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(); } } }

a medida que implemente y agregue este oyente a su vista de lista, esto detectará el final de la vista de lista, ya que la posición de desplazamiento estaba al final de la lista, solo obtendrá más datos. Y durante la carga de datos, necesita una bandera para cargar datos de una vez cuando la posición de desplazamiento llega al final. Entonces, si los datos se están cargando y durante ese tiempo se desplaza hacia arriba, desplácese hacia abajo y luego no obtendrá más datos para la duplicación.