1. Grossi, 01.11.2011 #1
    Grossi

    Grossi Threadstarter Neuer Benutzer

    Hallo zusammen!

    Ich suche schon seit Stunden nach der Lösung für eine eigentlich recht einfache Frage.
    Vielleicht könnt ihr mir ja helfen.

    Ich habe einen Spinner, der über einen Array gefüllt wird, das in einer xml-Datei definiert wurde:

    Code:
    <string-array name=[COLOR=red]"entfernungen"[/COLOR]>
     <item>15m</item>
     <item>18m</item>
     <item>30m</item>
     <item>40m</item>
     <item>50m</item>
     <item>60m</item>
     <item>70m</item>
     <item>90m</item>
    </string-array>
    
    Beim Verlassen der App speichere ich den gewählten Wert im Klartext in einer Datenbank ab:

    Code:
    @Override
    [COLOR=darkred]protected[/COLOR] [COLOR=darkred]void[/COLOR] onPause() {
     Spinner sp = (Spinner) findViewById(R.id.sp_entfernung);
     [COLOR=darkviolet]String[/COLOR][] bases = getResources().getStringArray(R.array.entfernungen);
     [COLOR=darkviolet]String[/COLOR] entfernung= bases[sp.getSelectedItemPosition()];
     speichern(entfernung);
    }
    
    Beim Start der App (Methode onResume()) möchte ich den Spinner auf den zuvor gewählten Wert setzen.
    Dazu lese ich den gespeicherten Wert aus der Datenbank (z.B. "30m").
    Nun müsste ich die Position dieses Wertes in dem Array wissen.
    Aber wie "übersetze" ich den String "30m" in die Position 2?

    Leider ist es mir nicht möglich, die Position des gewählten Spinnereintrages in der Datenbank abzuspeichern, da sich das Array durch ein Upgrade der App verändert haben könnte, so dass die gespeicherte Position nicht mehr stimmen könnte.

    Ich hoffe, ich habe mich klar genug ausgedrückt und ihr könnt mir weiterhelfen.

    Viele Grüße,
    Grossi
     
  2. Thyrion, 01.11.2011 #2
    Thyrion

    Thyrion Ehrenmitglied

  3. Grossi, 01.11.2011 #3
    Grossi

    Grossi Threadstarter Neuer Benutzer

    Super! Der folgende Beitrag klappte bei mir sofort:

    Vielen Dank!
    Grossi