Ich möchte, dass der Benutzer die Liste streichen und aktualisieren kann, es spielt keine Rolle, ob die Daten vorhanden sind oder nicht. Wenn jedoch Daten in der Listenansicht vorhanden sind, sollte nur die Listenansicht sichtbar sein, und wenn keine Daten vorhanden sind, sollte Leere Textansicht sichtbar sein. In beiden Fällen muss der Benutzer in der Lage sein, die Liste durch Wischen zu aktualisieren.
Ich habe versucht, eine Lösung zu geben hier in dieser Diskussion aber keiner von ihnen klingt funktioniert, die Idee, zwei SwipeToRefresh funktioniert gut wie angegeben Hier , aber es zeigt leere Container, selbst beim Abrufen von Daten vom Server.
Ich habe es mit meiner eigenen Logik versucht, die Listview und Textview innerhalb eines Relative / FrameLayouts umschließt, aber SwipeToRefresh akzeptiert nur eine Ansicht gemäß ihrem Verhalten
Hier ist ein XML-Snippet, das ich versucht habe
%Vor%Bitte helfen Sie
Ich hatte auch dieses Problem und löste es ohne zusätzlichen Code in der Aktivität mithilfe des folgenden Layouts.
Wenn Sie ListActivity
oder ListFragment
verwenden, wird das Anzeigen / Verbergen der leeren Ansicht für Sie behandelt, und das Aktualisieren funktioniert auch mit einer leeren Liste mit dieser Layoutstruktur.
Keine Hacks benötigt, alles ist in der SwipeRefreshLayout
, wie es sein sollte.
Ich hoffe, es hilft jedem, der mit diesem Problem kämpft.
Mein Problem scheint undokumentiert zu sein, aber wenn der Adapter für eine Recycler-Ansicht keine Daten enthält und Sie die setLayoutManager
-Funktion aufgerufen haben, wird die Recycler-Ansicht unwischbar. Meine Lösung war, nur setLayoutManager
aufzurufen, nachdem einige Daten empfangen wurden.
Tags und Links android android-listview swiperefreshlayout