我试图使用androids sharedpreferences,我已经记录了所有内容,并且下面的代码确实提交了字符串集。问题是当我强制关闭应用程序并再次启动时,settings.getStringSet返回一个空集。任何地方都没有错误消息。

我已经尝试过PreferenceManager.getDefaultSharedPreferences,但这对我也不起作用。

谢谢您的时间。

public static final String PREFS_NAME = "MyPrefsFile";
private static final String FOLLOWED_ROUTES = "followedRoutes";

然后在保存时调用:
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();

}

最佳答案

看看here

还供引用:

SharedPreferences

SharedPreferences.Editor

编辑:

这实际上有一个错误,请参见here。从那里摘录:



编辑2:

可能有解决方案here,看看吧。

关于android - android sharedpreferences中的Set <String>在强制关闭时不会保存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17469583/

10-12 05:05