2012-09-25 11 views

Respuesta

35

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

al implementar y añadir a su oyente a vista de lista así detecta el final de la vista de lista como posición de desplazamiento fue al final de la lista acaba de obtener 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.

+0

Hai, u puede decirme cómo agregar datos cuando el rollo llega a la parte inferior de la página .en gridview wise.i estoy tratando esto durante 2 weeks.can u ayudar – ManiTeja

+1

añada datos en su lista o lista de arrays o matriz que haya pasado a su adaptador para la vista de cuadrícula y llame a notifyDataSetChanged() del adaptador después de agregar los datos para actualizar la vista de cuadrícula. – Pratik

+0

para evitar que se invoque isScrollCompleted varias veces, he ajustado el método para usar un umbral, es decir, solo si ese número de elementos está visible. public void onScrollStateChanged (Vista AbsListView, int scrollState) { this.currentScrollState = scrollState; if ((jobAdapter.getCount() - (currentFirstVisibleItem + currentVisibleItemCount)) <= umbral) { this.isScrollCompleted(); } } – Ajibola

9

Pruebe con OnScrollListener Sólo tiene que añadir los artículos a su ListView en su

public void onScroll(AbsListView view, 
    int firstVisible, int visibleCount, int totalCount) { 

    // Add the items 

    } 
} 

Y, el establecimiento de su adapter.notifyDataSetChanged() mostrará los elementos añadidos en su ListView Acá les dejo algunos ejemplos de que la forma de integrar la onScrollListener con su ListView

  1. Android Endless List

  2. Endless Scrolling Listview

  3. Endless ListView

Cuestiones relacionadas