Jedes Mal, wenn ich die Liste nach oben oder unten scrolle, blende ich einige Ansichten mit OnScrollListener
aus (oder blende sie ein). Hier ist der Code an meine ListView
angehängt.
Layout:
%Vor% Seit ich den SwipeRefreshLayout
hinzugefügt habe, bekomme ich nichts, wenn ich Log
im obigen Listener habe. Wie kann ich diese beiden Elemente zusammen verwenden?
BEARBEITEN : Es scheint wie was ist Ich brauche, aber ich kann es immer noch nicht funktionieren lassen.
Als Teil dieses Artikels habe ich das in onScroll
hinzugefügt, aber es scheint nicht zu funktionieren.
EDIT2 : Dies ist das Herz des Problems: Es scheint, dass die Methode onScroll
ausgelöst wird, wenn die Aktivität zuerst gestartet wird und die Liste geladen wird und dann nie mehr.
Ich hatte das gleiche Problem mit RecyclerView
und ListView
. Wenn man nach unten blättert, ist es unmöglich, an die Spitze der Liste zurückzukehren.
Dadurch wird SwipeRefreshLayout
deaktiviert, bis das erste sichtbare Element oder eine beliebige Position sichtbar ist. Sie können auch verschiedene Scroll-Listener an diesen binden. Stellen Sie sicher, dass Sie SwipeRefreshLayout
aktivieren (wenn zuvor deaktiviert), wenn Sie die Liste erneut auffüllen.
Bearbeiten:
%Vor% Sie sollten canChildScrollUp
von% co_de überschreiben %. Diese Methode wird abgefragt, um zu wissen, ob die enthaltene Ansicht nach oben scrollen möchte:
Eine Erweiterung mit einer einstellbaren Schnittstelle für jede beliebige enthaltene Ansicht:
%Vor% Verwendung ( SwipeRefreshView
hat auch eine nette Methode: ListView
):
Tags und Links android listview swiperefreshlayout onscrolllistener