Daten aus einer DB "nachbearbeiten" mit SimpleCursorAdapter für ListView

  • Antworten:4
Rainer
  • Forum-Beiträge: 5

09.11.2011, 09:12:05 via Website

Hallo,
ich hab gerade angefangen Android zu entwickeln und hab ein kleines Problem bei dem mir vielleicht jemand einen Tipp geben kann:

In einer Activity die von ListActivity abgeleitet ist verwende ich einen SimpleCursorAdapter, der Daten aus einer DB in die Listview einträgt. Klappt soweit gut. Jetzt suche ich einen Weg, mit dem ich die Daten des Cursors aus der DB modifizieren kann bevor sie in der Liste landen. Ich hab überlegt ob es eine Methode gibt, die vor dem Einfügen der Cursor-Daten in die Liste nocheinmal aufgerufen wird und eine Bearbeitung der in die Liste einzufügenden Daten erlaubt? Bisher hab ich in der Doku aber noch nichts finden können....

Hintergrund ist, das in der DB Bezeichnungen stehen, die je nach Locale der App in einer anderen Sprache erscheinen sollen, in der DB würde ich aber gerne einen local-unabhängigen Namen ablegen und diesen dann mittels einer Map auf die richtige Sprache abbilden und dann in die Listview einfügen.

Hat da jemand eine Idee?

Danke
Rainer

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

09.11.2011, 09:32:25 via Website

ich selbst verwende den simplecursoradapter nicht, aber ich vermute mal, dann musst dir schon einen custom adapter bauen. der simplecursoradapter wird aus dem grund simple im namen haben, damit man schnell und einfach was anzeigen kann.

muss aber nicht stimmen.

swordiApps Blog - Website

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

09.11.2011, 09:48:43 via Website

Schau mal nach .setViewBinder() in deinem Adapter, das sollte ermöglichen was du vor hast.

Antworten
Rainer
  • Forum-Beiträge: 5

09.11.2011, 15:14:01 via Website

Hallo and_dev,

ich hab mir mal den setViewBinder() angesehen, in dem man wiederum setViewValue() überschreiben kann. Im ersten Test klappt dieser Weg sehr gut.

Vielen Dank
Rainer

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

09.11.2011, 20:14:57 via Website

Gerne :)

Antworten