You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

AppCompatDelegate.setApplicationLocales切换语言时Activity重启,配置无效

调用AppCompatDelegate.setApplicationLocales()时Activity异常重启问题
  • 调用AppCompatDelegate.setApplicationLocales()从系统默认语言切换至任意自定义语言时,Activity会强制重启,即使已在Activity配置中声明处理layoutDirection|locale配置变更
  • 该问题在Android 13系统上可复现,但从自定义语言(如enzh-cn)切换回系统默认语言时,不会触发Activity重启。

语言切换核心代码如下:

if (it.id != "[]") {
    AppCompatDelegate.setApplicationLocales(
        LocaleListCompat.forLanguageTags(it.id)
    ) // 问题触发位置
} else {
    AppCompatDelegate.setApplicationLocales(
        LocaleListCompat.getEmptyLocaleList()
    )
}

内容的提问来源于stack exchange,提问作者faizul726

火山引擎 最新活动