Brauche Hilfe bei onListItemClick

  • 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.

  • Hiho.
    Ich kann mir mit deiner Beschreibung nur schwer dein Problem vorstellen; könntest du teile des sourcecode irgendwo pasten?


    Und das auslesen der IDs solltest du ja über die Row id machen können... (und darüber halt dann auf die zeile zugreifen, was ja auch zugriff auf einzelne spalten und deren werte ermöglicht)
    habe mich mit listen und android noch nicht so wirklich beschrieben, genaueres könnte ich dir mit beispielscode sagen :)

  • ok, hier mein code,
    in der haupt-activity wird zur Datenbank connected.
    in der activity fahrzeuge ist die Liste die die Fahrzeuge aus der DB anzeigt. Im Moment mit Name und Model. wenn ich auf einen Eintrag klicke soll mir erst mal nur mit Toast die ID die zu dem EIntrag in der DB steht angezeigt werden


    Haupt-activity




    Activity Fahrzeug_New




    Activity fahrzeuge

  • Hallo...
    nun zu deinem ID Problem...
    Also ich sehe da mehrere möglichkeiten.
    das einfachste m.E. wäre es, die datenbankergebnisse weiter zu abstrahieren ... z.B. durch die Klasse KFZ die eigentlich nur getter & setter beinhaltet.


    davon abgesehen, kannst du natürlich auch bei der SELECT query nur einzelne spalten auswählen...


    ich hoffe dass ich damit das beantwortete was du meintest :)

  • verstehe ich nicht.
    in der Liste stehen ja alle Fahrzeuge aus der DB.
    wenn ich ein Fahrzeg aus der Liste auswähle kann ich ja dann nur eine Datenbankabfrage machen indem ich sage, zeige alles was den Namen KFZNAME hat. Ich müsste halt irgendwie die ID mit unsichtbar in der Liste speichern damit ich nach ID abfragen kann. Also wenn der erste Eintrag in der Liste die ID 12 in der Datenbank hat, dann kann ich abfragen. SELECT * FROM fahrzeuge WHERE id = 12;


    Hoffe es war jetzt verständlich.

  • frag doch einfach die ID

    Java
    Cursor c = myDB.rawQuery("SELECT name, model FROM " + ensacom1.MY_DATABASE_TABLE + ";", null);


    hier mit ab.
    die daten die du dann erhältst (id, name, model) kannst du ja in einem eigenen objekt verwalten.
    damit hast du die alle unter einem dach.
    jetzt muss das nur noch in die liste rein.


    und jetzt stellt sich natürlich die frage wie du das in die liste so bekommst, dass durch klick unser objekt mit allen daten weitergegeben wird.
    auf der einen seite kannst du das natürlich mit SELECt ... FROM ... WHERE ... machen...
    aber wie wäre es damit, wenn du anstelle der ArrayList<String>,
    Vector<Type> bzw. ArrayList<Type> verwenden würdest?
    (Type ist hier unser datenobjekt)


    ich nehme mal an, dass du dann dabei nur eine toString() methode erstellen müsstest...

  • Hm, du scheinst wirklich fit zu sein. Ich bin leider totaler Anfänger. ich werde es mir morgen mal anschauen und sehen ob ich was damit anfangen kann.


    Erst mal vielen Dank für deine Mühe

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!