[Gelöst] ListView Aktualisierung

surtic

surtic

Erfahrenes Mitglied
19
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!
 
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ß
 
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:
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);
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.021
swa00
swa00
D
Antworten
9
Aufrufe
1.767
jogimuc
J
J
  • JoEntwickler
Antworten
0
Aufrufe
974
JoEntwickler
J
Zurück
Oben Unten