1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. ensacom, 18.05.2009 #1
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Hallo, ich lade Daten aus einer sqlite Datenbank in eine ArrayList.
    Nun möchte ich, wenn ich auf einen Eintrag in der Liste klicke, dass mir die ID des angeklickten Eintrages, die in der DB steht, ausgegeben wird.

    In der Liste selber steht aber nur der Name.

    Meine Fragen wären also.
    - Kann man die ID irgendwie auch unsichtbar mit in der Liste zu jedem Eintrag speichern?
    - Wie lese ich die ID des gewählten Eintrages nach anklicken des selben aus?

    Danke schon mal.
     
  2. friedger, 21.05.2009 #2
    friedger

    friedger Erfahrener Benutzer

    Mit dem SimpleCursorAdapter ist der Listeintrag ein Cursor und damit hast Du alle Daten zur Verfügung auch wenn nur ein Text angezeigt wird.

    (Noch ein Argument für den CursorAdapter :))
     
  3. ensacom, 22.05.2009 #3
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Danke, ich verstehe aber nicht wie ich über das
    protected void onListItemClick(ListView l, View v, int position, long id)
    auf die ID des angeklickten Eintrages der Liste zugreifen kann.
    Ich kann ja nicht aus der onListItemClick auf den Cursor der Liste zugreifen oder wie geht das?
     
  4. ensacom, 22.05.2009 #4
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Gerade habe ich es selber herausgefunden.
    Die ID des selektierten Eintrages der in der Datenbank steht wird direkt über long id übergeben. Ich bin bis eben davon ausgegangen das es sich dabei um die ID des Listeneintrages selber handelt. Also von 0 bis count-1
     
  5. friedger, 22.05.2009 #5
    friedger

    friedger Erfahrener Benutzer

    Dafür, also die Position in der Liste gibt es den Parameter "position".
     
  6. ensacom, 22.05.2009 #6
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Ja, das habe ich endlich kapiert. ;-)

    Vielen Dank für deine Geduld mit mir und für deine Mühe.

    Diese Frage ist jetzt beantwortet.