Ich habe ein Problem beim Festlegen der Spinner-Auswahl. Hier ist, was ich tue: Ich habe eine XML, in der ich eine Schaltfläche und ein Spinner, die mit Ländernamen gefüllt ist. Ich habe keinen Adapter verwendet, um den Spinner zu füllen. Stattdessen habe ich ein Array in der Zeichenkettendatei im Werteordner benannt, der viele Elemente als Ländernamen enthält. Wenn Sie nun ein Land auswählen, wählen Sie bitte England und klicken auf den Button. Beim Anklicken wird eine neue Aktivität gestartet, die ebenfalls einen Spinner hat, der auf die gleiche Weise mit der gleichen Liste gefüllt ist. Aber was ich will, ist, dass der zweite Aktivitätsspinner das ausgewählte Land anzeigen sollte, das in diesem Fall England als aktueller Gegenstand im Spinner war. Aber ich kann es nicht lösen. Hier Stück Code zu dem, was ichSet Spinner-Auswahl programmgesteuert
// Erste Aktivität XML
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/sehirler"
android:prompt="@string/sehirsec" />
// Zweite Aktivität XML
<Spinner
android:id="@+id/spinner2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/sehirler"
android:prompt="@string/sehirsec" />
// Firstactivity Code
spinner = (Spinner)findViewById(R.id.spinner1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
spinnerItem = spinner .getSelectedItem().toString();
Intent intent = new Intent(firstactivity.this, secondactivty.class);
intent.putExtra("name", spinnerItem);
startActivity(intent);
}
});
getan haben // zweiter Aktivitätscode
sehir = (Spinner)findViewById(R.id.spinner2);
Intent intent = getIntent();
String name2 = intent.getExtras().getString("name");
sehir.setSelection(getIndex(sehir, name2));
private int getIndex(Spinner spinner, String myString) {
int index = 0;
for (int i=0;i<spinner.getCount();i++) {
if (spinner.getItemAtPosition(i).equals(myString)) {
index = i;
}
}
return index;
}
}
ich habe Ihren Code versucht, und es funktioniert gut mit mir den ganzen Weg zu Lebkuchen. Wenn Sie die Methode "private int getIndex (Spinner Spinner etc ..." erstellen, erstellen Sie die Methode außerhalb von onCreate ... richtig? –
Ja außerhalb onCreate. Funktionierte ich gut für Sie? –
Ja, es funktionierte für mich, können Sie Ihren vollständigen Code, oder private Nachricht mich –