我有一个共享的pref,我想在第一个Activity上保存一个来自editText的字符串。然后在我的第二个活动中调用并使用此字符串。所以在我的主要活动中,我有这行代码来保存字符串
SharedPreferences.Editor prefEditor = PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit();
prefEditor.putString("SEARCHSAVE",search);
prefEditor.apply();
然后在我的第二个Activity中,我有这个代码来调用它
SharedPreferences prefs = this.getSharedPreferences(
"h20music.p9p.harrop99.h20music", Context.MODE_PRIVATE);
myStrValue = prefs.getString("SEARCHSAVE", "defaultStringIfNothingFound");
但是,如果我检查字符串是否已保存,则返回“defaultStringIfNothingFound”
我做错了什么,拜托?提前致谢。这是我第一次使用保存字符串。
******修改
给出的复制问题答案并没有解释我做错了什么?
答案 0 :(得分:2)
您没有使用相同的共享偏好设置。
在这两个地方使用getDefaultSharedPreferences(getContext())
,或在两个地方使用自己的版本getSharedPreferences("h20music.p9p.harrop99.h20music")