i am searching for hours to find out why saving boolean list in shared preferences is not working.
The methods are not saving or loading something... the loadmethod
Just make the following changes in your code, and it should work.
Take SharedPrefrences mSharedPrefs
as your class variable.
public class SaveLoadTraining
{
private Context context;
public static final String PREFS_NAME = "ListFile";
private ArrayList list;
private SharedPreferences mSharedPrefs;
public SaveLoadTraining(){
this.context = getApplicationContext();
mSharedPrefs = context.getSharedPreferences(PREFS_NAME, 0);
}
Make 2 different Methods for removing and adding values to Shared Preferences and do it in two commits instead of 1 Commit.
1st Method for Removing the List
public void removeArray(ArrayList list)
{
SharedPreferences.Editor editor = mSharedPrefs.edit();
int size = list.size();
for (int i = 0; i < size; i++) {
editor.remove("list_"+i);
}
editor.commit();
}
2nd Method for Adding the List
public void addArray(ArrayList list)
{
SharedPreferences.Editor editor = mSharedPrefs.edit();
int size = list.size();
editor.putInt("list_size", size);
for (int i = 0; i < size; i++) {
editor.putBoolean("list_"+i, list.get(i));
}
editor.commit();
}
I hope this will work.