0

我正在开发一个 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());
4

0 回答 0