3

Während die Seitenumbruch implementieren. Ich habe mich mit diesem Problem konfrontiert. Ohne Scrollen ruft die Onscrolled-Methode ständig auf. Bitte überprüfen Sie meinen Code unten.RecyclerView scroll listeners Methode onscollected Anrufe automatisch ohne Scrollen

Als Referenz Ich verwende Endless Scrolling with AdapterViews and RecyclerView

Es gibt auch eine Demo-Beispiel this.

Ich fordere Daten von API. Also habe ich Volley gespielt. Nach dem Setup ist etwas Seltsames passiert. OnScrolled-Methode, die kontinuierlich aufruft, ohne zu scrollen. Unten ist mein Code.

nach erhalten die Antwort vom Server, habe ich unter Funktion Adapter gesetzt.

Im obigen Code hat meine erste API-Aufruf 0 versetzt. Ich weiß nicht, was das Problem ist. Liegt es an einer asynchronen Volley-Anfrage?

Antwort

2

Ja wird es heißen. Um dies zu überwinden, ein Verfahren machen

private boolean isLastItemDisplaying(RecyclerView recyclerView) { 
    if (recyclerView.getAdapter().getItemCount() != 0) { 
     int lastVisibleItemPosition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition(); 
     if (lastVisibleItemPosition != RecyclerView.NO_POSITION && lastVisibleItemPosition == recyclerView.getAdapter().getItemCount() - 1) 
      return true; 
    } 
    return false; 
} 

jetzt in onScolled Verfahren Prüfung mit dieser Methode.

boolean a = isLastItemDisplaying(recycler_product); 
if(a) 
    { 
     List<LatestProject> getLatest = getProjects(totalItemsCount,page); 
    } 
+0

Danke für Ihre Hilfe. Diese Logik ist jedoch bereits in EndlessRecyclerViewScrollListener.java vorhanden. Ich habe nur einen Fehler gemacht. In der XML-Datei befindet sich recyclerView in der NestedScrollView. Sobald ich NestedScrollView entfernt habe, fängt es an zu arbeiten. Das ist also das Problem. –

+0

können wir dies tun, ohne NestedScrollView zu entfernen ..? In meinem Fall sollte ich NestedScrollView behalten – GvSharma