#android
Вопрос:
Я сохраняю значение тока locale
в SharedPreferences
,
данные viewmodel должны быть изменены текущими locale
, поэтому я должен использовать SharedPreferences
..
private fun getPreferences(context: Context): SharedPreferences { return context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE) }
этот код нужен context
, я не знаю, как я могу его использовать SharedPreferences
Viewmodel
..
Ответ №1:
Ваш класс ViewModel должен быть расширен с помощью AndroidViewModel.
после этого вызовите getApplication() и используйте его в качестве контекста при доступе к SharedPreferences.
public class YourViewModel extends AndroidViewModel { SharedPreferences sharedpreferences = getApplication().getSharedPreferences("pref_key", Context.MODE_PRIVATE); String varName = sharedpreferences.getString("var_name", "") }