gpt4 book ai didi

java - 使用 SharedPreferences 在 ArrayAdapter 中存储和检索字符串

转载 作者:行者123 更新时间:2023-11-29 20:57:39 25 4
gpt4 key购买 nike

我需要在我的 NavigationDrawerArrayAdapter 中保存和检索两个字符串。首先。我这样声明:

private static SharedPreferences prefs;

然后在getView()方法中

SharedPreferences.Editor editor = context.getSharedPreferences("MYPREFS", context.MODE_PRIVATE).edit();
editor.putString("username", NameStr);
editor.putString("photo", urlProfile);
editor.commit();

通过这种方式,我将保存我需要的字符串。但我不太确定,因为我从不在适配器中使用 Sharedpreferences。我怎样才能检索数据?我要把它放在哪里?谢谢

编辑:实现我在 getView() 中写的字符串

Intent intent = ((Activity) context).getIntent();
NameStr = intent.getStringExtra("username");
urlProfile = intent.getStringExtra("photo");

两个字符串来自另一个 Activity 。

编辑2:解决方案Dexter 得到了解决方案并且它完美地工作:

  SharedPreferences sharedPreferences = context.getSharedPreferences("MYPREFS",context. MODE_PRIVATE);
if(sharedPreferences == null) return;
NameStr = sharedPreferences.getString("username", "");
urlProfile = sharedPreferences.getString("photo", "");
SharedPreferences.Editor editor = sharedPreferences.edit();
Intent intent = ((Activity) context).getIntent();
if(NameStr == null || NameStr.equals("")) {
NameStr = intent.getStringExtra("username");
editor.putString("username", NameStr);
}
if(urlProfile == null || urlProfile.equals("")) {
urlProfile = intent.getStringExtra("photo");
editor.putString("photo", urlProfile);
}
editor.apply();

所有这些都在 Adapter 构造中!

最佳答案

您可以使用以下方式检索数据:

SharedPreferences sharedPreferences = context.getSharedPreferences("MYPREFS", context.MODE_PRIVATE);
String username = sharedPreferences.getString("username", "");
String photo = sharedPreferences.getString("photo", "");

也更喜欢使用 editor.apply()

关于java - 使用 SharedPreferences 在 ArrayAdapter 中存储和检索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27158234/

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