2 Stimmen

Wie man einige "Metadaten" zu Android Listview Elemente anhängen?

class Venue {
  private int id;
  private String name;
}

Ich fülle die ListView mit etwas wie

List<String> venueNames = data.getVenueNames();
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, venueNames));

Nachdem der Benutzer ein bestimmtes Listenelement ausgewählt hat, möchte ich eine SQLite-Abfrage mit der Kennung des Veranstaltungsorts durchführen, aber diese Information geht bei der Erstellung der Namen der Veranstaltungsorte verloren. Wie lösen Sie dieses Problem?

EDIT: Ich sollte erwähnen, dass es nicht garantiert ist, dass der Name des Veranstaltungsorts eindeutig ist.

7voto

CommonsWare Punkte 950864

Ihr Problem ist hier:

List<String> venueNames = data.getVenueNames();

Tun Sie das nicht. Sie sind derjenige, der die Informationen "verliert". Wenn Sie sie nicht verlieren wollen, verlieren Sie sie nicht.

Am einfachsten ist es, eine ArrayAdapter<Venue> und haben Venue 's toString() return name . Dann rufen Sie getItem() zu Ihrem ArrayAdapter<Venue> gibt eine Venue .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X