2016-06-21 12 views
-1

Ich möchte die Elemente in der Liste aktualisieren, wenn Elemente aktualisiert wurden, aber möglicherweise keine Aktualisierungen vorhanden sind.Muss ich ListView mit Adapter verwenden, damit getView() nach dem Aufruf von notifyDataSetChange() ausgelöst wird?

Also meine Frage ist: Wenn notifyDataSetChange() -Methode aufgerufen wird, aber keine Änderung im Adapter, wird GetView() -Methode ausgelöst werden?

Updates:

Hat Adapter mit Listview werden muss zusammen, so dass die getView() kann nach notifyDataSetChange ausgelöst werden() aufgerufen wird? Wenn ich manuell einen Adapter iteriere und später notifyDataSetChange() aufruft. Wird getView() aufgerufen?

+0

Ja, Sie haben ziemlich viel einen 'Adapter' mit einem' ListView' zu verwenden. Ich bin mir nicht sicher, was genau Sie meinen, indem Sie "einen Adapter manuell iterieren", aber "ListView" selbst wird "getView()" aufrufen, wann immer es eine "Ansicht" benötigt, auch wenn 'notifyDataSetChanged()' aufgerufen wird. –

+0

@Mike, danke für Ihre Kommentare. Das ist alles was ich wissen will. – Huigege

Antwort

0

Danke Mike M. für den Kommentar.

Um getView() ausgelöst zu bekommen, nachdem notifyDataSetChange() aufgerufen wurde, muss ich Adapter mit ListView verwenden. Wie Mike bereits erwähnt hat, ruft ListView getView() auf.

Dieser Link könnte hilfreich sein: When getView() in ArrayAdapter is called

0

Es löst getView() aus, da die Ansicht, die Ihre Daten widerspiegelt, aktualisiert werden muss.

Benachrichtigt die beigefügten Beobachter, dass die zugrunde liegenden Daten geändert wurden, und jede Ansicht des Datensatzes zulässt, sollte sich

Auch diese post Besuche aktualisieren, die eine sehr detaillierte Erklärung gibt.