Enregistrer la liste de tableaux dans les préférences partagées

je suis à la recherche pendant des heures pour savoir pourquoi économiser boolean liste partagée de préférences n'est pas de travail.

Les méthodes ne sont pas la sauvegarde ou le chargement de quelque chose... la loadmethod renvoie toujours l'alternative des valeurs: si list_size à 0 et le booléen false.

Tout d'abord, je crée une liste dans mon MainActivity et appeler la Méthode save:

SaveLoadTraining sLoad = new SaveLoadTraining();
    ArrayList<Boolean> listBoolTrain = new ArrayList<Boolean>();
    listBoolTrain.add(true);
    listBoolTrain.add(true);
    sLoad.saveArray(listBoolTrain);

La sous-classe SaveLoadTraining ressemble à ceci:

    package de.sebspr.app08.halle;

import java.util.ArrayList;

import android.content.Context;
import android.content.SharedPreferences;
import de.sebspr.app08.MainActivity;

public class SaveLoadTraining {

    private Context context;
    public static final String PREFS_NAME = "ListFile";
    private ArrayList<Boolean> list;

    public SaveLoadTraining(){
        this.context = MainActivity.getMContext();
    }

    public void saveArray(ArrayList<Boolean> list){

        this.list = list;

        SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, 0);
        SharedPreferences.Editor editor = settings.edit();

        int size = list.size();
        editor.putInt("list_size", size);

        for (int i = 0; i < size; i++) {
            editor.remove("list_"+i);
        }
        for (int i = 0; i < size; i++) {
            editor.putBoolean("list_"+i, list.get(i));
        }       
        editor.commit();
    }

    public ArrayList<Boolean> loadArray(){

        SharedPreferences file = context.getSharedPreferences(PREFS_NAME, 0);
        list = new ArrayList<Boolean>();
        int size = file.getInt("list_size", 0);

        for(int i = 0; i<size;i++){
            boolean bool = file.getBoolean("list_"+i, false);
            list.add(bool);
        }
        return list;
    }
}

Je ne peux pas comprendre ce qui ne va pas...

Peut-être que je me charge du contexte sur un mauvais chemin?
Je viens d'appeler cette méthode pour obtenir le cadre de la MainActivity:

...
mContext = this;
...
    public static Context getMContext(){
        return mContext;
    }
I can not figure out what is going wrong... - nous ne pouvons pas parce que vous n'avez pas dit à nous 😉
euh, hehe 😉 Les méthodes ne sont pas la sauvegarde ou le chargement de quelque chose... la loadmethod renvoie toujours l'alternative des valeurs: si list_size que des 0 et des booléens comme faux
J'ai juste copié ton code et il fonctionne pour moi. S'il vous plaît montrer où vous êtes le chargement et l'enregistrement ou la façon dont vous souhaitez tester.
je viens de comprendre le problème. Le code ci-dessus que j'ai posté est la façon dont vous avez dit... le mistak est somewhereelse...

OriginalL'auteur Bolic | 2013-07-27