从活动到片段获取SharedPreference值
活动中共享的Pref代码
val editor =PreferenceManager.getDefaultSharedPreferences(applicationContext).edit()
editor.putString("Token", addToken)
editor.putString("isNew",
response.body()!!.isNew)
editor.putString("ccid",
response.body()!!.ccId)
editor.putString("email", email)
editor.apply()
片段中的SharedPref代码
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
token = sharedPreferences.getString("Token", "")
ccID = sharedPreferences.getString("ccid", "")
如何从活动中获取片段中共享首选项的值。目前,我无法从活动到片段访问令牌
答案 0 :(得分:1)
使用片段中上下文的 getActivity()
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
答案 1 :(得分:1)
如果您想在context
中使用Fragment
,我会这样做:
private val mContext by lazy {
this@YourFragment.context
}
然后您可以将mContext
用作Context
。
而不是在您的applicationcontext
中传递Activity
,而是发送this
。
val editor =PreferenceManager.getDefaultSharedPreferences(this).edit()
...
答案 2 :(得分:0)
您调用了commit()
编辑器方法吗?
查看详细信息: What's the difference between commit() and apply() in Shared Preference