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

    xazen Threadstarter Android-Hilfe.de Mitglied

    Hallo Leute,

    ich versuche ein Wert zu speichern. Ich bekomme im LogCat aber immer die gleichen Werte angezeigt. Kann mir das jemand erklären?

    Code:
    public void colorChanged(int color) {
            Log.d(TAG, "colorPickerValue: "+colorPickerValue+"; color: "+color); //colorPickerValue: -1; color: -6085339
            ((PreferenceScreen)this.findPreference(KEY)).getEditor().putInt("color_picker", color).commit();
            Log.d(TAG, "colorPickerValue: "+colorPickerValue+"; color: "+color); //colorPickerValue: -1; color: -6085339
            colorPickerValue = settings.getInt("color_picker", 0xFFFFFFFF);
            Log.d(TAG, "colorPickerValue: "+colorPickerValue+"; color: "+color); //colorPickerValue: -1; color: -6085339
    
        }
     
  2. DieGoldeneMitte, 07.04.2011 #2
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Würde mich überraschen, wenn Session für konkurrenten Zugriff geeinet wäre. Will sagen: du musst settings schon neu laden/aktualisieren, bevor sich da etwas zeigen kann.
     
  3. xazen, 08.04.2011 #3
    xazen

    xazen Threadstarter Android-Hilfe.de Mitglied

    kann ich setting während er Laufzeit aktualisieren ?
     
  4. xazen, 08.04.2011 #4
    xazen

    xazen Threadstarter Android-Hilfe.de Mitglied

    Ich habe es jetzt mit folgenden Code "realisiert".

    Code:
    settings=PreferenceManager.getDefaultSharedPreferences(this);
    Solange ich innerhalb der Preferences bleibe funktioniert es auch. Sobald ich die Einstellungen verlasse und wieder reingehe, wird es leider zurückgesetzt.
     
  5. ko5tik, 08.04.2011 #5
    ko5tik

    ko5tik Android-Experte

    Wie sieht denn deine onCreate() / on Resume() aus?
     
  6. xazen, 08.04.2011 #6
    xazen

    xazen Threadstarter Android-Hilfe.de Mitglied

    onCreate():
    Code:
    protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            
            settings = getSharedPreferences(KEY, MODE_PRIVATE);
            colorPickerValue = settings.getInt("color_picker", 0xFFFFFFFF);
    
            addPreferencesFromResource(R.xml.preference_screen);
            
            color_picker = findPreference("color_picker");
            color_picker.setOnPreferenceClickListener(this);
        }
    onResume():
    Code:
    @Override
        public void onResume(){
            super.onResume();
            settings = PreferenceManager.getDefaultSharedPreferences(this);
        }
    onResume wird leider nach dem beenden des Dialoges nicht aufgerufen. Habe es daher unter "colorChanged(int color)" auch nochmal.
     
  7. ko5tik, 08.04.2011 #7
    ko5tik

    ko5tik Android-Experte

    Wenn ich mich nicht täusche, sind Preferences aus XML Read-Only
     
  8. xazen, 11.04.2011 #8
    xazen

    xazen Threadstarter Android-Hilfe.de Mitglied

    Wie werden dann Settings für Live-Wallpaper gewöhnlich gespeichert ? Oder hat jeder da seine eigenen Tricks?
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] SVN Commit in Android Studio funktioniert nicht mehr Android App Entwicklung 07.08.2017
[ERLEDIGT] Spinner feste double Werte zuordnen Android App Entwicklung 24.04.2017
[APPINVENTOR] Wie weise ich Werte aus Slidern zu ? Android App Entwicklung 07.02.2017
Du betrachtest das Thema "commit() speichert die Werte nicht (Preference)" im Forum "Android App Entwicklung",