Die bevorzugte Methode zum Ändern des Erscheinungsbilds / der Zeilenansichten nach dem Zeichnen der ListView besteht darin, etwas an den Daten zu ändern, aus denen ListView zeichnet (das Array von Objekten, das an Ihren Adapter übergeben wird), und dies in Ihrem getView () zu berücksichtigen. Funktion, dann zeichnen Sie die ListView durch Aufrufen neu
notifyDataSetChanged();
BEARBEITEN: Es gibt zwar eine Möglichkeit, dies zu tun, aber wenn Sie dies tun müssen, machen Sie wahrscheinlich etwas falsch. Während es nur wenige Randfälle gibt, über die ich nachdenken kann, ist die Verwendung notifyDataSetChanged()
und anderer eingebauter Mechanismen im Allgemeinen ein guter Weg.
BEARBEITEN 2: Einer der häufigsten Fehler, den Menschen machen, besteht darin, einen eigenen Weg zu finden, um auf das Klicken / Auswählen einer Zeile in der ListView durch den Benutzer zu reagieren, wie in einem der Kommentare zu diesem Beitrag. Es gibt einen bestehenden Weg, dies zu tun. Hier ist wie:
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
ListView verfügt über viele integrierte Funktionen und es ist nicht erforderlich, das Rad für einfachere Fälle neu zu erfinden. Da Listview erweitert AdapterView , können Sie die gleichen Hörer, wie Set OnItemClickListener wie im Beispiel oben.