我正在使用 SharedPreferences 来保存和加载我的 ArrayList,如下所示:(保存)
SharedPreferences loadGlobalVariables = getSharedPreferences(APP_NAME, 0);
Categories = new ArrayList<String>(loadGlobalVariables.getStringSet("Categories", new HashSet<String>()));
(加载)还有这个(它们都工作正常,保存和加载都正确)
SharedPreferences saveGlobalVariables = getSharedPreferences(APP_NAME, 0);
SharedPreferences.Editor editor = saveGlobalVariables.edit();
editor.putStringSet("Categories", new HashSet<String>(Categories));
editor.commit();
但是检索到的 ArrayList 的元素顺序与以前不同。我知道这一点是因为我将这个 ArrayList 作为一个列表放入 Dialog 中(每次打开它都会刷新这个列表。),按 Category.toArray(temArray),并且该列表不再按字母顺序排列。
之前,这个 ArrayList 里面的 String 元素按字母顺序排序。当我从 SharedPreferences 中检索它时,它不再按字母顺序排序。
谢谢你的帮助,提前。