1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. C_T, 10.01.2010 #1
    C_T

    C_T Threadstarter Neuer Benutzer

    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.
     
  2. swordi, 10.01.2010 #2
    swordi

    swordi Gewerbliches Mitglied

    meine idee

    eigenen onItemSelectedListener basteln und dann diesen zuweisen
     
  3. C_T, 10.01.2010 #3
    C_T

    C_T Threadstarter Neuer Benutzer

    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?
     
  4. swordi, 10.01.2010 #4
    swordi

    swordi Gewerbliches Mitglied

    warum nicht einfach

    if (v == first)
    ?
     
  5. C_T, 10.01.2010 #5
    C_T

    C_T Threadstarter Neuer Benutzer

    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...
     
  6. swordi, 10.01.2010 #6
    swordi

    swordi Gewerbliches Mitglied

    dann musst wohl selbst einen onSelectedItemListener basteln
     
    C_T gefällt das.
  7. C_T, 10.01.2010 #7
    C_T

    C_T Threadstarter Neuer Benutzer

    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("");
                            }
                });
    
     
  8. swordi, 10.01.2010 #8
    swordi

    swordi Gewerbliches Mitglied

    jap sag ich ja, dass es so geht. ;)

    ich mache dafür meistens eigene klassen, aber so gehts natürlich auch
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Spinner feste double Werte zuordnen Android App Entwicklung 24.04.2017
Problematik mit der Ausgabe von SQL Inhalten (ljava.lang) Android App Entwicklung 23.11.2016
Du betrachtest das Thema "Herausfinden welcher Spinner gerade ausgewählt ist" im Forum "Android App Entwicklung",