2014-11-26 4 views
2

Я хочу сохранить логический массив в общих предпочтениях, и я хочу получить доступ к элементам массива позже. Может ли кто-нибудь помочь мне? .. Спасибо в advnc.Как добавить булевский массив в общих предпочтениях в Android

+0

Существует еще один вопрос об этом: http://stackoverflow.com/questions/3876680/is-it-possible-to-add-an-array-or-object-to-sharedpreferences-on-android –

ответ

4

магазин ваш массив

public boolean storeArray(Boolean[] array, String arrayName, Context mContext) { 

    SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0); 
    SharedPreferences.Editor editor = prefs.edit(); 
    editor.putInt(arrayName +"_size", array.length); 

    for(int i=0;i<array.length;i++) 
     editor.putBoolean(arrayName + "_" + i, array[i]); 

    return editor.commit(); 
} 

Загрузите ваш массив

public Boolean[] loadArray(String arrayName, Context mContext) { 

    SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0); 
    int size = prefs.getInt(arrayName + "_size", 0); 
    Boolean array[] = new Boolean[size]; 
    for(int i=0;i<size;i++) 
     array[i] = prefs.getBoolean(arrayName + "_" + i, false); 

    return array; 
} 
+0

Спасибо Рами..Он работает .. :) – jicz

1

магазин ваш массив глобально установленное значение Флажок

public boolean setCheckboxarray(Context mContext,Boolean[] array) { 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); 
    SharedPreferences.Editor editor = prefs.edit(); 
    editor.putInt(CHECKBOXARRAY, array.length); 

    for(int i=0;i<array.length;i++) 
     editor.putBoolean(CHECKBOXARRAY + i, array[i]); 

    return editor.commit(); 
} 

Загрузите ваш массив глобально получить значение флажок

public Boolean[] getCheckboxarray(Context mContext) { 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); 
    int size = prefs.getInt(CHECKBOXARRAY, 0); 
    Boolean array[] = new Boolean[size]; 
    for(int i=0;i<size;i++) 
     array[i] = prefs.getBoolean(CHECKBOXARRAY+ i, false); 

    return array; 
} 
0

Хранить ArrayList глобально в sharedpreferences с помощью флажка.

public boolean saveCheckboxarray(Context mContext, ArrayList<Boolean> array) { 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); 
    SharedPreferences.Editor editor = prefs.edit(); 
    editor.putInt(CHECKBOXARRAY, array.size()); 

    for(int i=0;i<array.size();i++) 
     editor.putBoolean(CHECKBOXARRAY + i,array.get(i)); 

    return editor.commit(); 
} 

Загрузить ArrayList глобально в sharedpreferences Статус.

public ArrayList<Boolean> getCheckboxarray(Context mContext) { 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); 
    int size = prefs.getInt(CHECKBOXARRAY, 0); 
    ArrayList<Boolean> getArray=new ArrayList<Boolean>(); 
    for(int i=0;i<size;i++) 
     getArray.add(i,prefs.getBoolean(CHECKBOXARRAY + i, false)); 

    return getArray; 
} 
Смежные вопросы