This question already has answers here:
Difference between getDefaultSharedPreferences and getSharedPreferences
(6个答案)
2年前关闭。
我有一个共享的首选项,我想在第一个Activity上保存来自editText的字符串。然后在第二个活动中调用并使用此字符串。所以在我的主要活动中,我具有以下代码行来保存字符串
然后在第二个活动中,我有这段代码可以调用它
但是,如果我检查是否保存了字符串,它将返回“ defaultStringIfNothingFound”
请问我在做什么错人?提前致谢。这是我第一次使用保存字符串。
******编辑
给出的重复题答案根本无法解释我做错了什么?
(6个答案)
2年前关闭。
我有一个共享的首选项,我想在第一个Activity上保存来自editText的字符串。然后在第二个活动中调用并使用此字符串。所以在我的主要活动中,我具有以下代码行来保存字符串
SharedPreferences.Editor prefEditor = PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit();
prefEditor.putString("SEARCHSAVE",search);
prefEditor.apply();
然后在第二个活动中,我有这段代码可以调用它
SharedPreferences prefs = this.getSharedPreferences(
"h20music.p9p.harrop99.h20music", Context.MODE_PRIVATE);
myStrValue = prefs.getString("SEARCHSAVE", "defaultStringIfNothingFound");
但是,如果我检查是否保存了字符串,它将返回“ defaultStringIfNothingFound”
请问我在做什么错人?提前致谢。这是我第一次使用保存字符串。
******编辑
给出的重复题答案根本无法解释我做错了什么?
最佳答案
您没有使用相同的共享首选项。
在两个地方都使用getDefaultSharedPreferences(getContext())
,或者在两个地方都使用带有getSharedPreferences("h20music.p9p.harrop99.h20music")
的自己的版本
09-28 09:43