Android Spinner-Array ändern

O

OSbOoL

Mitglied
Hi, ich möchte gerne das Array eines Spinners ändern, wenn auf dem anderen Spinner ein anderes Element ausgewählt wird. D.h. ich habe 2 Spinner, der erste beinhaltet ein Array mit Strings, in diesem Array möchte ich eine Auswahl treffen und dann soll der Listener dem 2. Spinner ein Array zuweisen.

Ich habe schon probiert, in dem Listener den Adapter des Spinners zu ändern. Das funktioniert nicht.
Hier mein Code:

Java:
public class DamenBH extends AppCompatActivity implements AdapterView.OnItemSelectedListener{

    Spinner spinner1;
    Spinner spinner2;

    ArrayAdapter<CharSequence> adapter1;
    ArrayAdapter<CharSequence> adapter65, adapter70, adapter75;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_damen_b_h);


        spinner1 = findViewById(R.id.spinner1);
        adapter1 = ArrayAdapter.createFromResource(this, R.array.beispiel1, android.R.layout.simple_spinner_item);
        adapter1.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
        spinner1.setAdapter(adapter1);
       
        spinner2 = findViewById(R.id.spinner2);
        spinner2.setOnItemSelectedListener(this);
        adapter65 = ArrayAdapter.createFromResource(this, R.array.beispiel2, android.R.layout.simple_spinner_item);
        adapter65.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
        spinner2.setAdapter(adapter65);


        adapter70 = ArrayAdapter.createFromResource(this, R.array.beispiel3, android.R.layout.simple_spinner_item);
        adapter70.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
        adapter75 = ArrayAdapter.createFromResource(this, R.array.beispiel4, android.R.layout.simple_spinner_item);
        adapter75.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
       



        spinner1.setOnItemSelectedListener(this);
       


    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {



        switch (position) {
            case 0:
                spinner2.setAdapter(adapter65);

          break;
            case 1:

                spinner2.setAdapter(adapter70);
                break;
            case 2:
                spinner2.setAdapter(adapter75);
                break;
        }
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
}

Ich hoffe ihr könnt mir helfen. Vielen Dank
 
kneitzel

kneitzel

Top Contributor
Hast du mal probiert nach dem setzen des Adapters ein notifyDataSetChanged() auf dem gesetzten Adapter aufzurufen?
 
O

OSbOoL

Mitglied
Das ändert leider nichts....
Hast du vllt. noch irgend eine andere Idee? :/
 
Zuletzt bearbeitet:
O

OSbOoL

Mitglied
Wenn ich in dem Listener versuche den Adapter von Spinner2 zu ändern, dann kann ich im Spinner2 keine Auswahl tätigen. D.h. der Spinner wird geöffnet(die Auswahl angezeigt) aber wenn ich dann auf eine Auswahl klicke, dann steht im Spinner trotzdem der erste Wert.
 
kneitzel

kneitzel

Top Contributor
Ich kann mir das so noch nicht wirklich vorstellen mit den Problemen... aber ansonsten könntest du natürlich mit nur einem Adapter arbeiten und da mittels clean und addAll alle Werte entfernen und neue Werte eintragen....

Aber kannst du ein kleines (minimales) Projekt mit diesem Verhalten bereit stellen zum ansehen / ausprobieren?
 
O

OSbOoL

Mitglied
Ich kann mir das so noch nicht wirklich vorstellen mit den Problemen... aber ansonsten könntest du natürlich mit nur einem Adapter arbeiten und da mittels clean und addAll alle Werte entfernen und neue Werte eintragen....

Aber kannst du ein kleines (minimales) Projekt mit diesem Verhalten bereit stellen zum ansehen / ausprobieren?
Ich habe soeben den Fehler gefunden:
Habe das Projekt vom Mac auf den PC übertragen, dort hat es funktioniert. Irgendwas muss da mit Android Studio schiefgelaufen sein, auf dem Mac funktioniert jetzt auch alles, aber erst nach einem Neustart.
Vielen Dank für die Mühe.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Bitmap Array im Spinner übergeben? Android & Cross-Platform Mobile Apps 28
jmar83 Android In einem Android-“Spinner”-Element GLEICHZEITIG Bild (links) UND Text (rechts) anzeigen Android & Cross-Platform Mobile Apps 0
T Firestore Daten in Spinner Android & Cross-Platform Mobile Apps 0
C Zugriff auf die Position eines String- bzw Spinner-Arrays Android & Cross-Platform Mobile Apps 1
S Android Style vom Spinner ändern (Dropdown sowie Fontfarbe) Android & Cross-Platform Mobile Apps 1
J android Spinner funktioniert nicht Android & Cross-Platform Mobile Apps 14
P Android Probleme mit Spinner Android & Cross-Platform Mobile Apps 3
G Android Spinner dynamisch aus DB SQL Select befüllen Android & Cross-Platform Mobile Apps 10
N Android spinner.item index als integer ? Android & Cross-Platform Mobile Apps 10
L Android Problem mit "spinner" Android & Cross-Platform Mobile Apps 10
F Android Spinner mit Ids Android & Cross-Platform Mobile Apps 4
F Android Fehler in Spinner Android & Cross-Platform Mobile Apps 3
F Android Spinner zur Laufzeit mit verschiedenem Inhalt füllen Android & Cross-Platform Mobile Apps 2
A Mit Java neues item in ein string-array einer Strings.xml schreiben Android & Cross-Platform Mobile Apps 4
J Button array ID Problem Android & Cross-Platform Mobile Apps 2
A Android veränderbares Array abspeichern und auslesen Android & Cross-Platform Mobile Apps 7
A Android Button Array? Android & Cross-Platform Mobile Apps 6
M Array oder Vector Android & Cross-Platform Mobile Apps 4
O Array Android & Cross-Platform Mobile Apps 2
AGW Android Links im Menü und Namen ändern Android & Cross-Platform Mobile Apps 2
AGW Android Teilen Button ändern Android & Cross-Platform Mobile Apps 14
A ImageButton in ListView Item bei klick ändern Android & Cross-Platform Mobile Apps 3
L Hintergrund eines Switch(Buttons) ändern Android & Cross-Platform Mobile Apps 3
Maresuke Android Android ListView Textfarbe und Texthintergrund ändern? Android & Cross-Platform Mobile Apps 5
A Fehlermeldung beim ändern der ViewGroup. Android & Cross-Platform Mobile Apps 6
H Buttons färben sich mit, beim Hintergrund ändern Android & Cross-Platform Mobile Apps 3
H Fehler Actionbar Theme ändern Android & Cross-Platform Mobile Apps 2
A Android Ändern der Farbe des NavBar Titels Android & Cross-Platform Mobile Apps 2
S Android CheckBox Status von anderer Klasse aus ändern Android & Cross-Platform Mobile Apps 4
H Radiobutton Eigenschaften ändern (in Radiogroup) Android & Cross-Platform Mobile Apps 2
G Android zur Laufzeit den Text im Menü ändern Android & Cross-Platform Mobile Apps 3
JAVAnnik Android Layout ändern in Thread Android & Cross-Platform Mobile Apps 2
Maxim6394 [ Android ] Activity ändern Android & Cross-Platform Mobile Apps 9
Maxim6394 [Android] contentView ändern Android & Cross-Platform Mobile Apps 3
I Android Hintergrundfarbe von Textview (Shape) ändern Android & Cross-Platform Mobile Apps 19
T Android AlertDialog; Buttons ändern Android & Cross-Platform Mobile Apps 4
J Java ME vorhandes Javaprojekt in JavaME ändern Android & Cross-Platform Mobile Apps 6
G Schriftgröße in einem TextField ändern Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben