2017-08-06 1 views
-2

Meine App aktualisieren, die Elementansicht umfassen: Checkbox, TextviewWie das Layout Elementansicht in Listenansicht auf die Aktivität haben eine Taste (B1) benutzerdefinierte Listview

Ziel ist I-Taste B1 drücken Sie dann alle Kontrollkästchen in Listview setVisible sein und ich hatte es getan, aber das ist Arbeit für was auf dem Bildschirm zeigt. Wenn ich mehrere Zeilen durchblättere, dass die anderen nicht sichtbar sind

Lassen Sie mich meine Erklärung sehen: - Beispiel, dass es 10 Einträge in Listendaten -> Listview auf dem aktuellen Bildschirm nur 5 Elemente anzeigen (10 Elemente ist immer noch sichtbar, wenn Scroll) - wenn drücken Sie die Taste B1 die Checkbox von 5 Packungen nur sichtbar ist, ist die andere nicht funktioniert

ich meine, ich Layout-Ansicht Artikel ändern möchten direkt auf Aktivität

+0

Bitte geben Sie den Code ein –

Antwort

0

Da Sie nur aktualisieren die Ansichten des Layouts. Sie müssen auch Ihren Datensatz aktualisieren (Array Ihres Adapters von Listview), aber ich weiß, dass Sie keine boolesche Variable in Ihrem Datensatz haben, um zu entscheiden, ob die Kontrollkästchen sichtbar sind oder nicht. Zuerst müssen Sie Variablen hinzufügen. Nachdem Sie auf geklickt haben, aktualisieren Sie die Ansichten des Layouts nicht. Ändern Sie nur die Daten (boolesche Variablen) und rufen Sie die notifyDataSetChanged() -Methode Ihres benutzerdefinierten Adapters auf. Die Methode notifyDataSetChanged() ruft die Methode getView() Ihres Adapters für alle auf Ihrem Bildschirm sichtbaren Ansichten ab. Werte werden korrekt aktualisiert, wenn Sie die Sichtbarkeit von Ansichten in der Methode getView() überprüfen. Andere Elemente nach dem Scrollen sind korrekt, weil Ihre Methode getView() korrekt ist.

Wenn Sie die Antwort nicht verstehen, fügen Sie Ihren OnClickListener der Schaltfläche und Ihre benutzerdefinierte Adapterklasse hinzu. Ich werde sie aktualisieren.

Edit: Sie haben sich auf das falsche Problem konzentriert. Ihre Lösung bezieht sich nicht auf die Aktualisierung des Layouts. Sie haben ein Problem mit der Logik, wie listView funktionieren soll.

Verwandte Themen