gpt4 book ai didi

java - 如何从首选项中获取保存的 arrayList

转载 作者:行者123 更新时间:2023-12-01 08:49:18 24 4
gpt4 key购买 nike

我尝试从sharedPreferences 获取我保存的记录,但我不能。总是没有任何显示。

LostDialogFragment中,我保存数组,我调试它,并且它总是保存数据。我从 MainGameFragment 获取引用

 public void saveArray() {
SharedPreferences prefs = getContext().getSharedPreferences("user_and_score", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = prefs.edit();
Set<String> set = new HashSet<>();
set.addAll(MainGameFragment.LEADERBOARDUSER);
edit.putStringSet("user_and_score", set);
edit.apply();
}

这是MainGameFragment中的引用

 public static ArrayList<String> LEADERBOARDUSER = new ArrayList<>();

SettingsFragment中我尝试获取保存的数组

 private ArrayList<String> leaderBoardList = new ArrayList<>();


case LEADER_BOARD:
recyclerView.setVisibility(View.VISIBLE);
SharedPreferences prefs = getContext().getSharedPreferences("user_and_score", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = prefs.edit();
Set<String> set = new HashSet<>();
edit.putStringSet("user_and_score", set);
set.addAll(leaderBoardList);
edit.apply();
adapter = new CustomAdapterForSettingsFragment(leaderBoardList);
recyclerView.setAdapter(adapter);
break;

我的问题是如何获取保存的数组?

或者我没有保存。我现在调试,没有人保存,请帮我在共享中保存数组

最佳答案

对于您保存设置的问题,请尝试以下操作:-1.) 提供一些不同的 key 来保存您的设置,例如

 edit.putStringSet("your_set", set);

2.) 使用

 edit.commit()

要获取您的套装,请尝试以下操作:-

SharedPreferences prefs = getContext().getSharedPreferences("user_and_score", Context.MODE_PRIVATE);

Set<String> newSet = prefs.getStringSet("your_set", new HashSet<String>());

通过这样做,您可以在 newSet 中获取您保存的集合。谢谢!!!

关于java - 如何从首选项中获取保存的 arrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42481475/

24 4 0