SharedPreferences funktionieren nicht

  • 3 Antworten
  • Letztes Antwortdatum
C

Christian Z.

Neues Mitglied
0
Hallo,
ich habe 2 Mehtoden geschrieben. Die eine erstellt ein Layout mit EditTexten, das 2. speichert nach einem Click auf einen Button die einngegebenen Daten.
Beim erneuten aufrufen des Layouts, sollten die EdiTexte eigentlich die Daten anzeigen. Das funktioniert aber nicht. Hoffe einer von euch kann meinen Fehler finden. Danke schonmal im voraus.

Code:
 private void DisplayNotes(int SelectedFach) {
        Selected_Fach = SelectedFach;
        for(int i = 0; i < Integer.parseInt(facher.getString("AnzahlS"+SelectedFach, "0")); i++) {
            EditText editText;
            editText = new EditText(this);
            String KEY = "NoteS"+String.valueOf(SelectedFach)+String.valueOf(i);
            editText.setText(noten.getString(KEY, "-"));
            editText.setInputType(InputType.TYPE_CLASS_NUMBER);
            Log.d("LOG_SCHOOL_DEBUG", KEY);
            Log.d("LOG_SCHOOL_DEBUG", "Returned Value: " +noten.getString("NoteS"+String.valueOf(SelectedFach)+String.valueOf(i), "-"));
            layout.addView(editText);
        }
        for(int i = 0; i < Integer.parseInt(facher.getString("AnzahlM"+SelectedFach, "0")); i++) {
            EditText editText;
            editText = new EditText(this);
            editText.setText(noten.getString("NoteM"+String.valueOf(SelectedFach)+String.valueOf(i), "-"));
            editText.setInputType(InputType.TYPE_CLASS_NUMBER);
            layout2.addView(editText);
        }
    }
    
    private void SaveNotes() {
        for (int i = 0; i < Integer.parseInt(facher.getString("AnzahlS"+Selected_Fach, "0")); i++) {
            EditText edit = (EditText) layout.getChildAt(i);
            SharedPreferences.Editor editor = noten.edit();
            editor.putString("NoteS1"+String.valueOf(Selected_Fach)+String.valueOf(i), edit.getText().toString());
            editor.commit();
            Log.d("LOG_SCHOOL_DEBUG", "NoteS"+String.valueOf(Selected_Fach)+String.valueOf(i));
            Log.d("LOG_SCHOOL_DEBUG", "Saved-Wert: "+ edit.getText().toString());
            Log.d("LOG_SCHOOL_DEBUG", "I-Wert: "+String.valueOf(i));
        } 
        for (int i = 0; i < Integer.parseInt(facher.getString("AnzahlM"+Selected_Fach, "0")); i++) {
            EditText edit = (EditText) layout2.getChildAt(i);
            SharedPreferences.Editor editor = noten.edit();
            editor.putString("NoteM1"+String.valueOf(Selected_Fach)+String.valueOf(i), edit.getText().toString());
            editor.commit();
        }
    
    }
 
Habe schon Ewig nix mehr mit SharedPreferences gemacht, aber wenn du SharedPreferences.Editor setzt, solltest du es nicht auch irgendwo auch mal auslesen? o.o
 
Wie sieht der Fehler aus? Wenn Dir jemand helfen soll, bitte die ganze Klasse.

Meine Vermutung wäre ein NullPointerException, oder das die Werte nicht übernommen werden.

Was ich bis jetzt gesehen habe, sieht sehr umständlich aus.
 
Hallo,
habe den Fehler gefunden. Mal wieder viel zu kommpliziert gedacht, da der Fehler lediglich darin lag, dass ich die Werte unter dem Namen NoteS1/NoteM1 abgespeichert habe, sie aber unter dem Namen NoteS/NoteM auslesen wollte.
Trotzdem danke für eure Antworten.
 
Zurück
Oben Unten