Android SwipeRefreshLayout mit leerer TextView funktioniert nicht richtig

7

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

    
Bhavik Mehta 13.06.2015, 11:22
quelle

4 Antworten

11

Ich habe das selbe Problem gelöst, indem ich FrameLayout benutzt habe, schau unter Code:

%Vor%

Sie könnten auch RelativeLayout verwenden, aber der Schlüssel besteht darin, Ihren ListView in den SwipeRefreshLayout und den TextView außerhalb zu platzieren.

    
Phuc Tran 13.06.2015, 11:43
quelle
12

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.

%Vor%

Ich hoffe, es hilft jedem, der mit diesem Problem kämpft.

    
avb 16.07.2015 08:21
quelle
0

lösen Sie das Problem schließlich mit folgendem Code

%Vor%     
Amol Suryawanshi 13.10.2016 10:53
quelle
0

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.

    
Daniel Wilson 05.02.2017 17:02
quelle