2010-02-27 8 views
14

Ich habe eine Liste, die mit einer benutzerdefinierten ArrayAdapter gefüllt ist.Android notifyDataSetChanged

Ich möchte eine Fortschrittsanzeige jede Sekunde aktualisieren, also versuche ich notifyDataSetChanged() zu verwenden, um die Liste neu zu streichen, aber es scheint nicht zu funktionieren.

Antwort

14

Wie aktualisieren Sie die List Datenstruktur, die ArrayAdapter einspeist?

Bitte lesen Sie meine Antwort hier: notifyDataSetChanged example

für Fragen im Zusammenhang mit ArrayAdapters und die List Aktualisierung, die Daten für notifyDataSetChanged hält zu arbeiten.

2

Wenn Sie dies nicht aus dem Haupt-Thread aufrufen, versuchen Sie, dass der Haupt-Thread diese Funktion aufruft. Das ist normalerweise das Problem, wenn notifyDataSetChanged den tatsächlichen Bildschirminhalt nicht aktualisiert.

+0

, wenn ein Anruf von einem Handler? sollte es funktionieren? – xger86x

+0

Ich glaube schon, wann immer ich meine Grafikform aktualisieren muss, schreibe ich eine Nachricht an einen Handler, den ich in meiner Hauptansicht erstelle. – snctln

+4

Bitte geben Sie ein Beispiel dafür, wie Sie es aus dem Hauptthread –

0

Ich habe wahrscheinlich die Antwort. Versuchen Sie folgendes:

((BaseAdapter) arrayAdapter).notifyDataSetChanged(); 

Ich hatte das gleiche Problem und das war die Lösung für meine :)

Verwandte Themen