Ich möchte alle Checkboxen in der Listenansicht deaktivieren / aktivieren. Eigentlich möchten Sie alle Verhaltensweisen auswählen, indem Sie auf das oberste Kontrollkästchen klicken.
Danke
Dies ist, was schließlich für mich funktionierte, wo ich einen Cursor-Adapter verwende, nicht nur ein ArrayListAdapter
für meine Listenelemente:
list.getChildCount
funktioniert nicht, weil es nur das zählt, was sofort gezeichnet wurde (nicht alles, was nicht auf dem Bildschirm angezeigt wird). childCount
kann also nur aus 6 oder 8 Elementen bestehen, wenn die gesamte Liste aus 100 oder mehr Elementen besteht. Außerdem musste ich list.setItemChecked
verwenden, damit die Elemente 'überprüft' bleiben - zumindest in meinem Fall, in dem meine Listenelemente Instanzen von CheckedTextView
waren.
Sie müssen diesen Code bearbeiten, um sowohl das Aktivieren als auch das Deaktivieren zu ermöglichen, aber ich hoffe, Sie haben die Idee!
Auch dies überprüft nur jedes Kontrollkästchen, stellen Sie sicher, dass Sie eine ID oder ein Objekt aus Ihrer Liste zurückgeben, um die Daten an anderer Stelle zu senden / speichern.
Ich denke, Sie sollten diese lang andauernde Aufgabe vom UI-Thread aus ausführen. Wenn Sie in OnClickListener auf die Schaltfläche klicken:
%Vor%und in onCreate ():
%Vor%Jedes Element in der Listenansicht sollte Checkable wie CheckableRelativeLayout sein, das Checkable interface implementiert.