2016-06-30 17 views
0

Ich möchte einen Diableschalter erstellen, der sofort eine Liste von Optionen aus einer ListView ausgrauen und deaktivieren kann, aber ich bin mir nicht sicher, wie man dies mit einem CustomAdapter für jedes einzelne erreicht Reihe. Mit nur Textview sollte es einfach sein, es mit einer onclick-Methode zu setzen, aber kann ich das auch mit einem CustomAdapter tun?Textfarbe für jeden benutzerdefinierten Adapter aus einem listView setzen

Antwort

1

Ihre Frage ist irgendwie abstrakt, da sie keine Codebeispiele und auch kein spezifisches Problem hat. Meine Antwort wird also auch abstrakt sein.

Um dies zu erreichen, setzen Sie einen Listener auf Ihren Switch. Nachdem Sie darauf geklickt haben, aktualisieren Sie das Modell, das für die Anzeige Ihrer Adapterelemente verwendet wird. Wenn Sie alle Elemente in der Liste aktualisieren müssen, können Sie der Adapterklasse eine boolean Variable hinzufügen. Verwenden Sie diese Variable in Ihrer getView()-Methode, um zu entscheiden, ob das Element ausgegraut sein soll oder nicht. Wenn der Wert geändert wird, rufen Sie notifyDataSetChanged() auf dem Adapterobjekt auf. Dadurch werden alle Elemente in der Liste neu gezeichnet.

Wenn Sie nur bestimmte Elemente aktualisieren müssen, fügen Sie diese boolean Variable dem Artikelmodell selbst hinzu. Iterate über Sammlung und setze diese Flagge, wo benötigt. Alle anderen Logik ist die gleiche - verwenden Sie diese Variable in getView() und rufen Sie notifyDataSetChanged().

Verwandte Themen