Wie deaktiviere ich die Aktion "Zum Aktualisieren ziehen" und verwende nur die Anzeige?

73

Ich habe "Pull to Refresh" für mein Projekt mithilfe von aktiviert SwipeRefreshLayout.

Wenn ich mich nach unten bewege, erscheint die Ladeanzeige (Materialdesignstil). Ich weiß, es muss so funktionieren, aber ich möchte diese Funktion deaktivieren und die Aktualisierung starten, indem ich auf eine Schaltfläche klicke und die SwipeRefreshLayoutLadeanzeige verwende.

Wie kann ich das machen?

Александр Шевчук
quelle

Antworten:

164

Aus der Dokumentation:

Wenn eine Aktivität nur die Fortschrittsanimation anzeigen möchte, sollte sie setRefreshing (true) aufrufen. Um die Gesten- und Fortschrittsanimation zu deaktivieren, rufen Sie setEnabled (false) in der Ansicht auf.

So zeigen Sie die Animation:

swiperefreshLayout.setEnabled(true);
swiperefreshLayout.setRefreshing(true);

Und um die Animation auszublenden:

swiperefreshLayout.setRefreshing(false);
swiperefreshLayout.setEnabled(false);
nhasan
quelle
19

Sie müssen nicht immer aktivieren und deaktivieren. Nur einmal deaktivieren, wenn die Ansicht erstellt wird, und dann setRefreshing verwenden.

Michał Janowicz
quelle