Хорошо, у меня есть список чисел, которые я должен сохранить, и я разделяю их с помощью разрывов строк ("\ n), а затем помещаю их в строку для сохранения:
List<String> usedTabs = new ArrayList<>();
...
StringBuilder save = new StringBuilder();
if(usedTabs.size()==0) {
save = new StringBuilder("0");
} else {
for(String s: usedTabs) {
save.append(s);
save.append("\n");
}
}
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("saveUsedTabs", save.toString());
editor.commit();
Отлично, этоработает! Тоже возвращаю свой список, когда мне это нужно снова, я делаю это:
String save = PreferenceManager.getDefaultSharedPreferences(getContext()).getString("saveUsedTabs", "0");
String tabs[] = save.split("\n");
usedTabs.addAll(Arrays.asList(tabs));
Работает тоже. Но если я перезагружаю приложение после сохранения, когда я загружаю его снова после последнего \ n, есть некоторые4 пробела: "6\n3\n5\n3\n3\n "
Как это вообще происходит? Я уже сменил ключ, чтобы убедиться, что мои предпочтения больше не используются.