Die Anzeige "Loading ..." wird beim Implementieren eines ListFragments ausgeblendet

8

Ich habe die Anzeige mit Fragments erstellt, beide werden mit Daten aus dem Internet gefüllt. Während der Code selbst wie erwartet ohne Probleme funktioniert, zeigt einer der Fragmente (implementiert als ListFragment ) einen unbestimmten Fortschrittsindikator innerhalb des Fragments an, der zur Seite geneigt ist. Ich möchte den Indikator entfernen und stattdessen eine andere ProgressDialog als Indikator implementiert verwenden.

Bei einigen Nachforschungen habe ich die Funktion setListShownNoAnimation() (dokumentiert hier ) in der Klasse ListFragment , aber die folgenden Versuche haben nicht funktioniert:

  • Aufruf von setListShownNoAnimation () im Fragment onActivityCreated()
  • Aufruf in der übergeordneten Aktivität onCreate
  • Aufruf in onCreateView() des Fragments (dies verursachte ein IllegalStateException )

Wie kann ich den Fortschrittsanzeiger des Fragments entfernen?

    
fayerth 13.02.2012, 08:38
quelle

3 Antworten

24

Der richtige Weg, dies zu tun, ist zu rufen:

%Vor%

, wenn Sie die ProgressBar ausblenden möchten und die ListView anzeigen möchten. Rufen Sie dies auf, wenn Sie die Daten im Hintergrund abgerufen haben und bereit sind, die Liste anzuzeigen.

    
Srichand Yella 23.07.2012, 22:21
quelle
1

Diese Problemumgehung ist möglicherweise nicht die beste Methode, um dies zu beheben, aber es funktioniert gut:

Was ich getan habe, war, dass das Fragment überhaupt nicht angezeigt wurde, als ich es in der Datei layout.xml deklarierte:

%Vor%

Nachdem die Daten heruntergeladen und verarbeitet wurden, zeige ich dann das Fragment mit einer FragmentTransaction an:

%Vor%

Wenn es eine bessere Lösung für dieses Problem gibt, bin ich offen für Vorschläge.

    
fayerth 16.02.2012 02:26
quelle
1
%Vor%

Aber du musst setListShown(false) , wo du ListAdapter gesetzt hast. Das funktioniert gut.

    
asdf 12.07.2013 08:01
quelle

Tags und Links