spinner.setselection()

L

losh

Neues Mitglied
0
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;)
 
getSelectedItemPosition gibts
 
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?;)
 
Zurück
Oben Unten