Laden von Spinner sqlite mit Text und Wert

8

Ich habe einen Spinner laden Daten in SQLite

Ich habe Feld ID und Feldname in der Datenbank.

%Vor%

und das Ergebnis ist

USA - & gt; Wert ist "USA"

Frankreich - & gt; Wert ist "Frankreich"

wenn ich den Code labels.add(cursor.getString(1)); in labels.add(cursor.getString(0));

ändere

und das Ergebnis ist

1 - & gt; Wert ist "1"

2 - & gt; Wert ist "2"

Ich versuche mit int position2 = spin2.getSelectedItemPosition()+1; , aber der Wert ist ID / Position des Spinner, nicht die ID der Datenbank.

Wie man den Feldnamen auf dem Spinner anzeigt. aber der Wert ist ID des Namens

Beispiel: Die Drehfeldanzeige:

USA - & gt; Wert ist "1"

Frankreich - & gt; Wert ist "2"

BR

Alex

    
Abox LsrKdz 15.01.2013, 04:27
quelle

1 Antwort

24

Es ist wirklich einfach, was Sie tun können, ist, das, was Sie von einer Klasse benötigen, auf die folgende Weise zu implementieren / darzustellen:

Erstellen Sie die folgende Klasse: SpinnerObject

%Vor%

Wenn Sie diese Klasse verwenden, können Sie weiterhin die Android-Implementierung des ArrayAdapter verwenden (Sie müssen keine eigenen implementieren, da die toString -Methode den Zeichenfolgenwert bereitstellt, den Sie anzeigen möchten und den Sie weiterhin speichern die Datenbank-ID, die Sie auch benötigen).

Nun müssen Sie Ihre Liste wie folgt erstellen:

%Vor%

Jetzt, da Sie die Liste der Objekte mit den Werten und den IDs haben, laden Sie den Spinner folgendermaßen:

%Vor%

Und der Spinner zeigt die Werte an, während sie ihre IDs haben (aus der Datenbank).

Um die ID des aktuell ausgewählten Elements abzurufen, tun Sie Folgendes:

%Vor%

Bitte versuchen Sie es und lassen Sie mich wissen, was passiert.

    
Leeeeeeelo 15.01.2013, 08:14
quelle

Tags und Links