0

私は Android アプリに取り組んでおり、File オブジェクトを 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();
    }

Fragment からメソッドを呼び出します。

Shortcuts.add(getActivity(), adapter.getItem(i));
Shortcuts.getAll(getActivity());
4

0 に答える 0