Herausfinden welcher Spinner gerade ausgewählt ist

C

C_T

Neues Mitglied
0
Hi

Ich habe 2 Spinner in meinem Programm. Wie kann ich herausfinden, welcher gerade ausgewählt ist? Ich habe schon das Forum durchsucht und auch Google gefragt leider ohne wirklich brauchbare Ergebnisse.
Code:
//Create The Adapter for the Spinner1
           first = (Spinner) findViewById(R.id.spinner1);
           first.setOnItemSelectedListener(this);
           aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
           aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
           first.setAdapter(aa);
         //Create The Adapter for the Spinner2
           second = (Spinner) findViewById(R.id.spinner2);
           second.setOnItemSelectedListener(this);
           bb = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
           bb.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
           second.setAdapter(bb);
Damit erstelle ich meine Spinner, dann noch der Code beim OnItemSelected:
Code:
public void onItemSelected(AdapterView<?> parent, View v, int position,
            long id) {
        // TODO Auto-generated method stub
        if(v.getId() == R.id.spinner1)
        {
            String sp1grp = parent.getItemAtPosition(position).toString();
        //selection1.setText(groups[nbr1]);
        //selection2.setText(groups[nbr1+1]);
        }
        if(v.getId() == R.id.spinner2)
        {
            selection2.setText("Error!");
        }
    }
    
    public void onNothingSelected(AdapterView<?> parent) {
           selection1.setText("");
           }
}
Wie man sieht habe ich es mit den id's probiert leider ohne Erfolg.
 
meine idee

eigenen onItemSelectedListener basteln und dann diesen zuweisen
 
Sorry aber ich weiss jetzt gerade echt nicht wie ich das programmieren soll.

Kann ich nicht einfach irgendwie die ID von dem Spinner holen und dann quasi so:

if(id_von_spinner == 1)
{
Spinner1 wurde ausgewählt;
}

ist das nicht möglich?
 
warum nicht einfach

if (v == first)
?
 
Nein das geht leider nicht, da v gibt Irgend nen Text aus mit ner Zahl, jedoch die Zahl ändert sich mit jedem Item das ich auslese. Bringt mir also nichts.

Ich probier weiter...
 
dann musst wohl selbst einen onSelectedItemListener basteln
 
  • Danke
Reaktionen: C_T
Ich habs geschafft! Ich hab einfach 2 setOnItemSelectedListener gemacht. Da ich gemerkt habe dass wenn ich nur einen hab, geht der immer nur auf den ersten Spinner. Jetzt funktioniert es!!

Für die, die vlt das gleiche Problem haben, hier meine Lösung:

Code:
first.setOnItemSelectedListener(new OnItemSelectedListener()
            {
                public void onItemSelected(AdapterView<?> parent, View v, int position,
                         long id) {
                     // TODO Auto-generated method stub
                    String sel_grp = first.getSelectedItem().toString();
                    int fav_grp = selection(sel_grp, x);
                    selection1.setText(groups[fav_grp]);
                    selection2.setText(groups[fav_grp+1]);
                 }
                 
                 public void onNothingSelected(AdapterView<?> parent) {
                        selection1.setText("");
                        }
            });
            
            second.setOnItemSelectedListener(new OnItemSelectedListener()
            {
                public void onItemSelected(AdapterView<?> parent, View v, int position,
                         long id) {
                     // TODO Auto-generated method stub
                   String sel_grp = second.getSelectedItem().toString();
                   int fav_grp = selection(sel_grp, x);
                   selection2.setText(groups[fav_grp]);
                   selection1.setText(groups[fav_grp-1]);
                 }
                 
                 public void onNothingSelected(AdapterView<?> parent) {
                        selection1.setText("");
                        }
            });
 
jap sag ich ja, dass es so geht. ;)

ich mache dafür meistens eigene klassen, aber so gehts natürlich auch
 

Ähnliche Themen

U
  • unerfahrenerAppEntwickler
Antworten
3
Aufrufe
743
swa00
swa00
Y
Antworten
4
Aufrufe
1.251
swa00
swa00
Zurück
Oben Unten