есть много вопросов, связанных с общими предпочтениями и альтернативами. Моя проблема: когда я выключаю устройство или закрываю приложение, общие настройки теряются. Обратите внимание, что мой код действительно работает на Acer A500. Но на моем Motorola Xoom MZ604 это не работает!!
Прежде всего я пытаюсь восстановить свой HashSet в onCreate. Этот метод вызывается точно и реализован в синглтоне.
public boolean restoreCollection(Context context){
SharedPreferences settings = context.getSharedPreferences(context.getString(R.string.restore_values), 0);
if(settings.getStringSet(context.getString(R.string.collection), null) != null){
collection = settings.getStringSet(context.getString(R.string.collection), null);
return true;
}
collection = new HashSet<String>();
return false;
}
Вызывая onDestroy, я сохраняю HashSet. Несмотря на то, что не указано, что этот метод вызывается точно, настройки в любом случае теряются, я пытался сохранить его в onPause с тем же результатом.
public void saveCollection(Context context){
SharedPreferences settings = context.getSharedPreferences(context.getString(R.string.restore_values), 0);
SharedPreferences.Editor e = settings.edit();
e.putStringSet(context.getString(R.string.collection), collection);
e.commit();
}
Были ли у кого-нибудь проблемы с общими настройками и устройством XOOM, или я один такой? Возможно, что-то не так с моим кодом, но данные не теряются на моем планшете Acer.
Я также пробовал PreferenceManager.getDefaultSharedPreferences(context) для получения объекта SharedPreferences
Спасибо за помощь, Крис