Изменение языка приложений/локали программно в JetPack Compose во время инструментальных инструментов/пользовательского Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Изменение языка приложений/локали программно в JetPack Compose во время инструментальных инструментов/пользовательского

Сообщение Anonymous »

Приложение поддерживает 2 локала. Во время инструментального инструмента или теста пользовательского интерфейса я хочу проверить с определенным языком (например, en ). Ссылаясь на 6629458, я сделал функцию для изменения локализации в Котлин: < /p>
private fun setLocale(language: String, country: String) {
val context = InstrumentationRegistry.getInstrumentation().context
val locale = Locale(language, country)
// here we update locale for date formatters
Locale.setDefault(locale)
// here we update locale for app resources
val res: Resources = context.getResources()
val config: Configuration = res.configuration
config.locale = locale
res.updateConfiguration(config, res.displayMetrics)
}
< /code>
можно назвать внутри корпуса функции тестирования UT: < /p>
@Test
fun uiTest () {
composeTestRule.setContent {
//...
}
setLocale("en", "EN")
//...
}
< /code>
Однако локаль не установлен на английском языке, но в зависимости от настройки по умолчанию моего устройства Android тестирования. Есть ли какой -либо подсказку для этого (функция вызывает без ошибок, но локаль не изменяется, как ожидалось)?>

Подробнее здесь: https://stackoverflow.com/questions/786 ... instrument
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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