Доступ к общему предпочтению от действия к фрагменту - PullRequest
0 голосов
/ 26 марта 2019

Получение значений SharedPreference из действия во фрагмент

Код SharedPref в activty

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", "")

Как получить значенияразделяет предпочтение во фрагменте из Activity. В настоящее время я не могу получить доступ к токену из Activity во фрагмент

Ответы [ 3 ]

1 голос
/ 26 марта 2019

Использование getActivity () вместо контекста во фрагменте

val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());

1 голос
/ 26 марта 2019

Если вы хотите использовать context в вашем Fragment, я сделал следующее:

private val mContext by lazy {
        this@YourFragment.context
}

И тогда вы можете использовать mContext как Context.

И вместо передачи applicationcontext в ваш Activity вместо этого отправьте this.

val editor =PreferenceManager.getDefaultSharedPreferences(this).edit()
...
0 голосов
/ 26 марта 2019

Вы вызывали commit() метод редактора?

Подробнее: В чем разница между commit () и apply () в Shared Preference

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...