einstellen und erhalten Ich habe ein Problem, wie ich einen Spinner hatte, der die Namen aller Entwickler enthält, die im Unternehmen arbeiten.
Ich habe die ArrayAdapter
mit einem Array mit den Namen aller Entwickler verwendet, die aus der Datenbank abgerufen wird.Wie man die ID für die Artikel im Spinner in Android
Das Problem ist, dass, wenn ich das Feld Name des Entwicklers aktualisiere, ich nur den Namen des Entwicklers bekomme, der nicht ausreicht, um die Daten zu aktualisieren, da es sich um mehrere Entwickler mit demselben Namen im Unternehmen handeln kann.
So, jetzt brauche ich die ID des Entwicklers, sie zu aktualisieren ..
Wie zu speichern, dass id des Entwicklers mit den Spinner
so, dass ich das erreichen kann.
Zum Beispiel möchte ich tun, wie wie das ist, wir in HTML
tun ::
<select>
<option id="1">Developer1</option>
<option id="2">Developer2</option>
<option id="3">Developer2</option>
<option id="4">Developer2</option>
</select>
wo die id befestigt die Datenbank id wäre.
Ich möchte dies auf Android nachzuahmen.
Dies ist der Code, den ich verwendet habe, die Namen im Array speichern ::
String alldevelopers = null;
try
{
ArrayList<NameValuePair> postP = new ArrayList<NameValuePair>();
alldevelopers = CustomHttpClient.executeHttpPost("/fetchdevelopers.php", postP);
String respcl = alldevelopers.toString();
alldevelopersParser dev = new alldevelopersParser();
ow = dev.parseByDOM(respcl);
}
catch (Exception e) {
e.printStackTrace();
}
String developers[] = new String[ow.length]; //dev is a class object
for (int n = 0; n < ow.length; n++)
{
developers[n] = ow.developer[n][2];
}
Dies ist der Spinner, der das Array ..
final Spinner devl = (Spinner) findViewById(R.id.towner);
devl.setOnItemSelectedListener(managetasks.this);
ArrayAdapter<String> b =
new ArrayAdapter<String>getApplicationContext(),
android.R.layout.simple_spinner_item,developers);
b.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
devl.setAdapter(b);
Eine Frage: der Spinner ist geladen mit Entwickler Namen in der gleichen Reihenfolge wie in der Datenbank genommen? Es könnte nützlich sein, die Position des Elements innerhalb des Drehfelds zu betrachten, um für dieselbe Position die ID des Programmierers in der db zu bestimmen. – Ant4res
Ja ... die Reihenfolge des Ladens wäre die gleiche wie die der Datenbank ... aber dann wäre die ID der Entwickler nicht in der inkrementellen Weise, als ob einige der Entwickler gelöscht würden, dann würde ihre ID fehlen in der liste ... also können wir die position itemSelected nicht direkt mit der ID in der datenbank vergleichen ... Ist das anders, mein lieber Freund, der die Datenbank auf der Basis der ItemSelectedposition Nummer suchen würde? –