1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Preference-Wert wird nicht überschrieben

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von TanaH, 18.05.2011.

  1. TanaH, 18.05.2011 #1
    TanaH

    TanaH Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    0
    Registriert seit:
    04.04.2011
    Hoffe einer kann mir sagen, wo der Fehler liegt!

    Ich öffne Einstellungen über ein Optionsmenu.
    Danach starte ich die PreferenceActivity.
    Vor der onCreate-Methode will ich abfrage, ob unter Speicherort eine einstellung hinterlegt wurde,
    falls nicht,
    soll da der Pfad der externen Sdkarte (ich frage natürlich ab, ob sie existiert) in den EditText geschrieben werden.
    Mit editor.commit() beende ich das und
    mit addPreferencesFromResource füge ich alles ein.
    Klicke ich nun aber auf meine Einstellung öffnet sich der EditText und der ist leer.
    Beim Debuggen finde ich keine Fehler.
    Im Editor.putString (key,value) steht alles richtig drin.

    Was mache ich falsch?????
     
  2. TheUsualSuspect, 18.05.2011 #2
    TheUsualSuspect

    TheUsualSuspect Android-Hilfe.de Mitglied

    Beiträge:
    95
    Erhaltene Danke:
    32
    Registriert seit:
    20.05.2010
    Phone:
    HTC Legend
    Poste doch einfach mal deinen Code, der für das alles verantwortlich sein soll, ansonsten kann man nur "raten" was du falsch machst.

    Hast du schon mal nachgesehen, ob die xml für die SharedPrefs erzeugt wird? Wenn ja, steht in der xml auch das drinnen was du reinschreiben willst?
     
  3. TanaH, 18.05.2011 #3
    TanaH

    TanaH Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    0
    Registriert seit:
    04.04.2011
    Hier mein Code:
    einstellung.xml
    <PreferenceCategory
    android:title="@string/speicher">
    <EditTextPreference
    android:key="speicherort"
    android:summary="Speicherort der Datei"
    android:defaultValue="xxx"
    android:title="@string/speicherpfad"/>
    </PreferenceCategory>


    meine PreverenceActivity
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.einstellungen);

    SharedPreferences einst1=PreferenceManager.getDefaultSharedPreferences(this);
    String spOrt="";
    spOrt=einst1.getString("speicherort", "");

    if (spOrt.equals("")){
    SharedPreferences einst=getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor editor=einst.edit();

    String Pfad="";

    String statusSD = Environment.getExternalStorageState();
    if (statusSD.equals(Environment.MEDIA_MOUNTED)) {
    File path = Environment.getExternalStorageDirectory();
    Pfad=path.toString();

    }

    editor.putString("speicherort", Pfad.toString());
    editor.commit();
    }


    }


    meinen Aufruf aus meine Activity
    Intent intent=new Intent().setClass(this, Einstellung.class);
    this.startActivity(intent);


    im EditText steht nix drin!!! Habe alles mögliche umgeschrieben, oben mein letzter Versuch.
    Vielen Dank für deine Hilfe
     
  4. TanaH, 20.05.2011 #4
    TanaH

    TanaH Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    0
    Registriert seit:
    04.04.2011
    Hat keiner einen Tip für mich????????
     
  5. TanaH, 20.05.2011 #5
    TanaH

    TanaH Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    0
    Registriert seit:
    04.04.2011
    Ich bin am Ende mit meinem Latein... er übernimmt einfach nicht den Text den ich reinsetzen will, wenn noch nichts eingegeben wurde.
     

Diese Seite empfehlen