栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android 按钮主动切换语言不生效

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 按钮主动切换语言不生效

问题描述:创建了一个按钮用于切换中英文,点击按钮刷新了应用但语言没有切换.修改系统语言和切换语言.

解决过程:因为语言确实能切换,所以主要考虑按钮切换功能是否有问题.自己首先想的是语言总是跟着系统语言,是否是因为config中设置语言的时候出了问题.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
    config.setLocale(getLocale(language))
} else {
    config.locale = getLocale(language)
}

将其中自己写的方法getLocale修改为Locale.ENGLISH后还是不生效,在getLocale中打上log发现确实执行了,推断问题不是发生在这处.之后因为看到updateConfiguration被废弃了考虑版本原因,修改后发现也没什么作用.后来搜百度发现可能是导入的Context的有问题.

Android7.0及之后版本,使用了LocaleList,Configuration中的语言设置可能获取的不同,而是生效于各自的Context.

因为我的按钮所在布局是定义在Fragment中的,然后我把方法实现都写在onActivityCreated中,所以使用了全局定义的Context,只要把Button的实现方法移到onCreate,调用view即可解决.看来全局Context也不是十全十美,另外发现自己遇到与Context的问题好几回了,有机会好好了解一下.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/332370.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号