我正在开发一个 android 应用程序,但在将文件对象添加到 sharedPrefs 时遇到问题。我有一个 add 和 getAll 方法,但是当我尝试添加到 sharedPref 时,似乎没有任何内容添加到它。
public static ArrayList<File> getAll(Context context) {
ArrayList<File> files = new ArrayList<File>();
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
String str = pref.getString("files", null);
if (str == null) return files;
String[] shortcuts = str.split(",");
for (String s : shortcuts) {
if (s == null || s.trim().isEmpty()) continue;
files.add(new File(s));
}
return files;
}
public static void add(Context context, File f) {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
ArrayList<File> files = getAll(context);
files.add(f);
String toSet = "";
for (File file : files) {
toSet += file.getAbsolutePath() + ",";
}
pref.edit().putString("files", toSet).commit();
}
从片段调用方法。
Shortcuts.add(getActivity(), adapter.getItem(i));
Shortcuts.getAll(getActivity());