1. losh, 18.04.2012 #1
    losh

    losh Threadstarter Neuer Benutzer

    hallo,
    ich stehe gerade vor dem problem, dass ich das selectedItem eines (mittels SimpleCursorAdapter befüllten) spinners setzen muss. hier eine beispielhafte darstellung:
    Spinner "spnKlassen" bzw. Cursor cursorKlassen halten folgende items:
    1AHIF
    1AO
    1BHIF
    1BO
    ...
    ein anderer Cursor cursorEinstellungen liefert mir mit cursorEinstellungen.getString(1) zb. den String "1BHIF". wie bekomme ich also sozusagen die zeilennummer raus, in der dieser String steht?

    hier ein auszug (wenn nötig, poste ich auch die ganze Activity):
    Code:
        private void createSpnKlasse()
        {
            spnKlasse = (Spinner) findViewById(R.id.spnKlasse);
            SimpleCursorAdapter adapterKlasse = new SimpleCursorAdapter(this,android.R.layout.simple_spinner_item,cursorKlassen,new String[] {"name"}, new int[] {android.R.id.text1});
            adapterKlasse.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spnKlasse.setOnItemSelectedListener(new OnItemSelectedListener() 
            {
                public void onItemSelected(AdapterView<?> parent, View arg1, int position, long arg3) 
                {
                    Cursor c = (Cursor) parent.getAdapter().getItem(position);
                    selectedKlasse = c.getString(1);
                }
    
                public void onNothingSelected(AdapterView<?> arg0) {}
            });
            spnKlasse.setAdapter(adapterKlasse);
            spnKlasse.setSelection(8); //hier sollte jetzt eben nicht 8 drinstehen, sondern die nummer der zeile, in der "cursorEinstellungen.getString(1)" steht
        }
    
    ich hoffe, mein problem ist einigermaßen verständlich geschildert;)
     
  2. swordi, 18.04.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    getSelectedItemPosition gibts
     
  3. losh, 22.04.2012 #3
    losh

    losh Threadstarter Neuer Benutzer

    ich hab schon befürchtet, dass ich missverstanden werde :o

    folgendes hab ich jetzt mal versucht:
    Code:
    cursorKlassen.moveToFirst();
                for (int i=0; i<cursorKlassen.getCount(); i++)
                {
                    if (cursorKlassen.getString(1).equals(cursorEinstellungen.getString(1)))
                        spnKlasse.setSelection(i);
                    else
                        cursorKlassen.moveToNext();
                }
    
    leider ist da die position auch immer um 1 verschoben...hab auch schon i+1 versucht, ändert aber nichts...gibts da keine elegantere möglichkeit, die auch funktioniert?;)
     

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android spinner selectitem