[Gelöst] ListView Aktualisierung

  • 3 Antworten
  • Neuester Beitrag
Diskutiere [Gelöst] ListView Aktualisierung im Android App Entwicklung im Bereich Betriebssysteme & Apps.
surtic

surtic

Erfahrenes Mitglied
Hallo Zusammen,

Ich arbeite nun seit knapp 2 Wochen an einer App für das auslesen des RSS Feed's eines Browsergames. Soweit klappt das eigentlich schon recht gut auch mit einen Service der im Hintergrund die Daten Aktualisiert und eventuell auch ne Notification einblendet.

Mein einziges Problem ist, dass die ListView nur sehr langsam oder gar nicht Aktualisiert wird. Wenn ich die App komplett beende und wieder starte erscheinen die aktuellen Daten (die Daten sind also vorhanden). Alle Nachrichten speichere ich in ein Object Account von dem ich es auch wieder auslese usw. .

In der MainActivity habe ich mehrere Sections, damit mehrere Account's nebeneinander dargestellt werden können. Die einzelnen Sections verfügen über einen FeedSectionFragment das wiederum fürs anzeigen der einzelnen Nachrichten einen MessageAdapter verwendet.

So schaut das ganze aus.
Index of /android/ogame_rss_reader/screenshots


Hier ein Teil meines Codes.

MainActivity Laravel Paste Bucket
SectionPageAdapter Laravel Paste Bucket
FeedSectionFragment Laravel Paste Bucket
MessageAdapter Laravel Paste Bucket

Ich hoffe diese Informationen reichen damit man mein Problem herausfinden kann :)

Danke für eure Hilfe!
 
StefMa

StefMa

Experte
Deine Frage ist, wie du die Liste aktualisierst?
Dann schau dir mal den Activity-Lifecircle an und überlege, wo du deine neuen Daten laden musst, wenn du zurück in die App gehst...

Gruß
 
surtic

surtic

Erfahrenes Mitglied
Meine frage ist eher wieso sie nicht Upgedatet wird. Die Daten sind alle am richtigen Ort. Auch wird der SectionAdapter Informiert, dass neue Daten da sind dies mache ich sogar bei onResume().

Edit: Stimmt es z.B. das wenn ich die Daten Aktualisiere danach auf den SectionsPageAdapter notifyDataSetChanged() mache? Reicht dies oder muss ich noch was anderes machen?
 
Zuletzt bearbeitet:
surtic

surtic

Erfahrenes Mitglied
Okey ich habe nun Herausgefunden wie ich das ganze Forcieren kann.

Ich setzte nun die Liste vor dem Aktualisieren auf

fragment.setListShown(false);
fragment.setListShownNoAnimation(false);


Und nach dem Aktualisieren wieder auf

fragment.setListShown(true);
fragment.setListShownNoAnimation(true);