So: in onCreate lasse ich diese Methode ausführen:
private void setPreferences() {
if (prefs.contains("notFirstTime")) {
checked = prefs.getBoolean("checked", checked);
for (int i = 0; i < 7; i++) {
startH = "startHour" + String.valueOf(i);
startM = "startMinute" + String.valueOf(i);
stopM = "stopHour" + String.valueOf(i);
stopM = "stopMinute" + String.valueOf(i);
startHour[i] = prefs.getInt(startH, startHour[i]);
startMinute[i] = prefs.getInt(startM, startMinute[i]);
stopHour[i] = prefs.getInt(stopH, stopHour[i]);
stopMinute[i] = prefs.getInt(stopM, stopMinute[i]);
tb = "checked" + String.valueOf(i);
tBChecked[i] = prefs.getBoolean(tb, tBChecked[i]);
}
} else {
editor.clear();
editor.putBoolean("notFirstTime", true);
editor.putBoolean("checked", false);
for (int i = 0; i < 7; i++) {
checked = false;
startHour[i] = 7;
startMinute[i] = 0;
stopHour[i] = 14;
stopMinute[i] = 0;
tBChecked[i] = false;
startH = "startHour" + String.valueOf(i);
startM = "startMinute" + String.valueOf(i);
stopM = "stopHour" + String.valueOf(i);
stopM = "stopMinute" + String.valueOf(i);
editor.putInt(startH, 7);
editor.putInt(startM, 0);
editor.putInt(stopH, 14);
editor.putInt(stopM, 0);
tb = "checked" + String.valueOf(i);
editor.putBoolean(tb, false);
}
editor.apply();
}
}
Das heiß wenn der Wert notFirstTime vorhanden ist wird geladen, wenn nicht, dann alles auf Default-Werte gesetzt und gespeichert.
Bei jedem Speichern wird der Wert notFirstTime (nur als Kontrollwert) mit gespeichert, also sollte nur beim ersten Start alles auf Default gesetzt werden.
Und in onPause:
@Override
protected void onPause() {
super.onPause();
editor.clear();
editor.putBoolean("notFirstTime", false);
editor.putBoolean("checked", checked);
for (int i = 0; i < 7; i++) {
startH = "startHour" + String.valueOf(i);
startM = "startMinute" + String.valueOf(i);
stopM = "stopHour" + String.valueOf(i);
stopM = "stopMinute" + String.valueOf(i);
editor.putInt(startH, startHour[i]);
editor.putInt(startM, startMinute[i]);
editor.putInt(stopH, stopHour[i]);
editor.putInt(stopM, stopMinute[i]);
tb = "checked" + String.valueOf(i);
editor.putBoolean(tb, tBChecked[i]);
}
editor.apply();
}
Aber er setzt immer wieder die nach 1, 2 Minuten die Default-Werte.
So richtig steige ich nicht dahinter.
— geändert am 16.12.2014, 12:21:35
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.