Próbuję użyć androidów sharedpreferences, Logowałem wszystko, a poniższy kod naprawdę zatwierdza zestaw ciągów znaków. Problem polega na tym, że kiedy zamykam aplikację i zaczynam od nowa, settings.getStringSet zwraca pusty zestaw. Nigdzie nie ma błędów.Zestaw <String> w Androidzie sharedpreferences nie zapisuje na siłę close
Próbowałem już PreferenceManager.getDefaultSharedPreferences, ale to też nie działa.
Dzięki za poświęcony czas.
public static final String PREFS_NAME = "MyPrefsFile";
private static final String FOLLOWED_ROUTES = "followedRoutes";
i później, gdy zapisana jest nazywany:
public void onFollowClicked(View view){
SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
Set<String> follows = settings.getStringSet(FOLLOWED_ROUTES, new HashSet<String>());
follows.add(routeId);
editor.putStringSet(FOLLOWED_ROUTES, follows);
editor.commit();
}
W czym problem? – Blackbelt
Czy przestrzegasz cyklu życia? W jakim stanie zapisujesz swoje dane? –
wszystko jest zapisane, zanim wymuszam zakończenie. kwestia jest taka, że settings.getStringSet (... nie zwraca wartości I przyznaniem mu Ive próbował również zastąpienie commit(), aby zastosować (.) - bez powodzenia – Malin