/ / Android - Holen Sie sich Artikel aus Listview mit benutzerdefinierten Adapter über Kontrollkästchen - Android, Kontrollkästchen, Android-Listview, Android-Adapter, Baseadapter

Android - Holen Sie sich Artikel aus ListView mit benutzerdefinierten Adapter über Kontrollkästchen - Android, Kontrollkästchen, Android-Listview, Android-Adapter, Baseadapter

Ich habe eine Listenansicht mit einem benutzerdefinierten Adapter (erweitert BaseAdapter).

Es erhält eine Liste von Objekten, die ich für eine ListView füllen muss.

Eines der Attribute meines Objekts ist ein Boolescher Wert, der "checked" genannt wird.

Bei meiner Methode getView ist dieses Attribut dafür verantwortlich, eine CheckBox in meiner Ansicht zu überprüfen oder nicht.

Alles funktioniert gut und wenn meine Aktivität geladen wird, erscheinen die ListView-Objekte so, wie sie sich auf meiner Liste von Objekten befinden (die von meiner Datenbank empfangen wurden), einige sind markiert und manche nicht.

Aber wenn ich eines der ListView-Kästchen ankreuze, muss ich mein Objekt aktualisieren und daher den Wert für meine Datenbank. Das Problem ist:

"Woher weiß ich, welches Objekt (Objekt) ich aktualisieren muss, indem ich meine CheckBox ankreuze?"

"Haben sie nicht denselben Namen?"

Ich habe einen listView.setOnItemClickListener (...) wo ich mein Objekt an seiner Position bekommen kann, aber es funktioniert, wenn ich auf die "Zeile" meiner Listenansicht selbst klicke, nicht auf meine Checkbox ... Ich habe darüber nachgedacht, meine Checkbox zu aktivieren / deaktivieren. Aber wie würde ich das tun? Kann ich die Position verwenden, um eine bestimmte CheckBox von meinem listView zu bekommen?

Am Ende dachte ich auch, dass das die beste Methode istwürde das "listView.setOnItemClickListener (...)" verwenden, um meine CheckBox zu überprüfen, sobald es für meinen Benutzer einfacher wäre, ein Item nach seiner Zeile als nach einer kleinen CheckBox zu überprüfen, also kann mir jemand helfen der beste Weg, um mein Problem zu lösen?

Es tut mir leid, dass ich meinen Code nicht gepostet habe, aber im Moment kann ich nicht darauf zugreifen.

Antworten:

1 für die Antwort № 1

Schau dir das an Anleitung

Sie müssen eine Methode im OnClick der hinzufügenKontrollkästchen, das von der Aktivität implementiert wird. Eine Möglichkeit besteht darin, dem Adpater eine abstrakte Methode hinzuzufügen und sie von der Aktivität implementieren zu lassen. lasst uns onCheckCheckClicked (int position) aufrufen