Android `application.resources.getString` не предоставляет правильное локализованное значениеAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Android `application.resources.getString` не предоставляет правильное локализованное значение

Сообщение Гость »


Мне нужно установить значение элемента пользовательского интерфейса из строкового ресурса. Это локализованное приложение. Я думал, все будет довольно просто:

textField.postValue(getApplication().resources.getString(R.string.text)) Когда я выбираю язык, я устанавливаю его в SharedPreferences, а в attachBaseContext я устанавливаю этот язык в качестве локали:

частное развлечение Context.setAppLocale(язык: String): Context { val locale = Локаль (язык) Locale.setDefault(локаль) val config = resources.configuration config.setLocale(локаль) config.setLayoutDirection(локаль) вернуть createConfigurationContext (конфигурация) } переопределить fun AttachBaseContext(newBase: Context) { // читаем из разделяемого префа ... super.attachBaseContext(ContextWrapper(newBase.setAppLocale(язык))) } А после выбора языка я просто перезапускаю приложение.

Как перезапустить приложение:

editor.apply() заканчивать() startActivity (намерение) Все тексты в моем приложении обновляются, за исключением тех, которые я установил из android-viewmodel с помощью getString.

Может ли кто-нибудь помочь мне получить правильные локализованные значения для моего приложения в модели представления?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»