Die Recycler-Ansicht scrollt nicht richtig, nachdem Sie Swipe implementiert haben, um das Layout zu aktualisieren

8

Vor der Implementierung der Ansicht "Swipe zum Aktualisieren" funktionierte die Recycler-Ansicht reibungslos, aber nicht jedes Mal, wenn ich versuche, die Recycler-Ansicht nach unten zu scrollen, wischt der Swipe zur Aktualisierung und behindert die Scroll-Bewegung.

Hier ist der Screenshot des Problems:

(Beachten Sie, dass das Swipe-Layout aktualisiert wird, während die Recycler-Ansicht nach unten gescrollt wird)

Hier ist mein Layout-Fragment:

%Vor%

Darunter steht der Code für mein Fragment:

%Vor%

Ich habe auch das Layout des Koordinators im Aktivitätslayout implementiert. Hier ist der Code:

%Vor%

Können Sie mir helfen, dieses Problem zu lösen? Es wird eine große Hilfe sein. Vielen Dank im Voraus.

    
Arindam Dawn 31.07.2015, 06:09
quelle

3 Antworten

7

Ich habe es selbst endlich selbst in Ordnung gebracht.

Das Problem liegt im XML-Layout selbst. Die Recycler-Ansicht sollte ein einzelnes untergeordnetes Element in einem SwipeToRefereesh-Layout sein.

Die Layoutdatei sollte wie folgt aussehen:

%Vor%

Sie müssen keine anderen Dienstprogrammklassen hinzufügen oder die canChildScrollUp () -Methode von SwipeToRefesh überschreiben.

    
Arindam Dawn 01.08.2015, 07:46
quelle
3

Dies ist ein bekanntes Problem und ich frage mich, warum das nicht schon behoben wurde. Das Problem hierbei ist, dass SwipeRefreshLayout immer davon ausgeht, dass die Liste nicht weiter nach oben scrollen kann.

Eine Lösung besteht darin, SwipeRefreshLayout zu erweitern und canChildScrollUp() zu überschreiben. Diese Methode wird aufgerufen, wenn Sie mit dem Scrollen beginnen und hier false zurückgeben, wenn die Liste nicht an der obersten Position ist, sollten Sie den Trick machen.

Verwenden Sie als Nächstes diese Hilfsmethode, um zu bestimmen, ob Ihr RecyclerView weiter nach oben blättern kann:

%Vor%     
Saket 31.07.2015 06:41
quelle
0

Ich habe es geschafft, Swipe down zu refresh und infinit scrolling zu implementieren. Wenn jemand interessiert ist, schauen Sie sich das an. Sie können sich die Implementierung davon unter

ansehen

Ссылка

Obwohl ich aus der Sicht von UX nicht sicher bin, ob die Unterstützung von SwipeDown sowohl zum Aktualisieren als auch zum Aktualisieren am Ende des Bildlaufs unterstützt wird, ist es eine gute Idee, den Endbenutzer zu verwirren.

Prost!

    
Subodh Nijsure 02.01.2016 21:19
quelle