gpt4 book ai didi

java - 从共享首选项将数组传递到 ArrayAdapter。安卓

转载 作者:行者123 更新时间:2023-12-01 10:01:05 25 4
gpt4 key购买 nike

下午好,

总的来说,我对 android 和 java 还很陌生,所以我不确定我想要实现的目标是否可以通过这种方式实现。

我正在尝试在共享首选项类中实现 Get 和 Set 方法来保存数组并在需要时再次将其取出。在完美的世界中,我会使用下面的代码:

public class dataStorage {
private SharedPreferences sharedPreferences;
private static String PREF_NAME = "prefs";

public dataStorage() {
// Blank
}

private static String[] getPuzzleList(Context context, String key)
{
return getPrefs(context).getArray(PREF_NAME, Context.MODE_PRIVATE);

}

private static void setPuzzleList(Context context, String key, String[] stringArray)
{
SharedPreferences.Editor editor = getPrefs(context).edit();
editor.putArray(key, stringArray);
editor.commit();
}

private static SharedPreferences getPrefs(Context context) {
return context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
}

public static String getPuzzle(Context context, String key) {
return getPrefs(context).getString(key, "default_string");
}

public static void setPuzzle(Context context, String key, String value) {
SharedPreferences.Editor editor = getPrefs(context).edit();
editor.putString(key , value);
editor.commit();
}
}

我对各个谜题的获取和设置工作正常,因为 putStringgetString 是有效方法,而 getArray 和 `putArray 不是。

是否有一个方法调用可以用来将字符串数组传入和传出共享首选项,或者我是否必须实现 forloops 才能将它们保存为单独的字符串?当我想传递给 ArrayAdapter 时,使用另一个 for 循环将所有字符串再次放入一个数组中?

欢迎任何反馈。谢谢。

最佳答案

您可以输入 Set :

private static void setPuzzleList(Context context, String key, String[] stringArray) {
SharedPreferences.Editor editor = getPrefs(context).edit();
Set<String> set = new HashSet<String>();
set.addAll(Arrays.asList(stringArray));
editor.putStringSet("key", set);
editor.commit();
}

关于java - 从共享首选项将数组传递到 ArrayAdapter。安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36801562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com