对不起,如果这是一个愚蠢的问题。我正在学习使用 SharedPreferences,但遇到了一点问题:我正在使用此代码保存到 SharedPreferences:
public void saveInMemory(String[] saveThis){
StringBuilder sb = new StringBuilder();
prefs = PreferenceManager.getDefaultSharedPreferences(OIBListActivity.this);
editor = prefs.edit();
for (int i = 0; i < saveThis.length; i++) {
sb.append(saveThis[i]);
sb.append(";");
}
editor.putString("listaOIB", sb.toString());
editor.commit();
}
这段代码加载保存的值:
public String loadFromMemory(String id){
prefs = PreferenceManager.getDefaultSharedPreferences(OIBListActivity.this);
return prefs.getString(id, "NOPREFSAVED");
}
我也已经在外面声明了首选项和编辑器,所以这不应该是一个问题:
private SharedPreferences prefs;
private SharedPreferences.Editor editor;
现在,我的问题是,当我进入此活动并保存从其他活动收到的文件时(通过 putExtra,如果有帮助),然后继续加载它一切正常。 然后我重新进入我的活动而不向它发送任何文件(来自其他活动)并尝试使用loadFromMemory()并且它不起作用。我的理解是第一次进入Activity的时候应该已经保存了文件,然后想加载就加载。
有什么帮助吗?