Android 片段中的SharedReference
我知道以前有人问过这个问题,但我似乎不明白 我试图通过以下方式获得我的偏好:Android 片段中的SharedReference,android,android-fragments,sharedpreferences,Android,Android Fragments,Sharedpreferences,我知道以前有人问过这个问题,但我似乎不明白 我试图通过以下方式获得我的偏好: SharedPreferences preferences = this.getActivity().getSharedPreferences("storedName", Context.MODE_PRIVATE); String loginemail = preferences.getString("storedName", ""); 但这似乎不起作用,我有多个共享引用,我需要在我的片段中获取这些引
SharedPreferences preferences = this.getActivity().getSharedPreferences("storedName", Context.MODE_PRIVATE);
String loginemail = preferences.getString("storedName", "");
但这似乎不起作用,我有多个共享引用,我需要在我的片段中获取这些引用。正确的方法是什么?
AsgetDefaulSharedPreferences(此)
不起作用
我按如下方式存储我的首选项:
savePreferences("shareUniqePass", uniqePassIds.getText().toString());
savePreferences("storedName", inputEmail.getText().toString());
savePreferences("Storedpass", inputPassword.getText().toString());
private void savePreferences(String key, boolean value){
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
Editor checkbox = sharedPreferences.edit();
checkbox.putBoolean(key, value);
checkbox.commit();
}
private void savePreferences(String key, String value){
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
Editor names = sharedPreferences.edit();
names.putString(key, value);
names.commit();
}
不要从
getSharedReferences
获取它,而是使用getDefaultSharedReferences
As getDefaulSharedPreferences(this) doesn't work.
您使用getDefaultSharedReferences
保存数据,因此必须使用getDefaultSharedReferences
获取保存的数据
这是指片段的实例,而不是使用getActivity()
从活动中获取上下文实例
示例:
String loginemail = PreferenceManager.getDefaultSharedPreferences(getActivity()).getString(PREF_USER_NAME, "");;
您需要确保从相同的共享首选项保存和加载数据。如果您仅从一个活动/片段访问它,则应使用getDefaulSharedPreferences(this)
但是,如果要从几个不同的活动/片段中使用它,则应使用:
private void savePreferences(String key, boolean value){
SharedPreferences prefs = getActivity().getSharedPreferences("storedName", Context.MODE_PRIVATE);
Editor checkbox = sharedPreferences.edit();
checkbox.putBoolean(key, value);
checkbox.commit();
}
post savePreferences方法感谢这一帮助,但是这也是最好的方法吗?还是我应该用另一种方式拯救他们?在某种物体上?最佳编码mean@user3671459这是最好的方法,因为您不能将对象放入GetSharedReferences。如果这篇文章有帮助的话,欢迎你+1。。非常感谢。