Android原生语言切换无效的问题 5C

先上代码

图片说明

图一:单选框选择语种后点击确定执行的代码

图片说明

图二:设置Locale语言的执行代码,利用Log打印设置完后的locale语言的代码

图片说明

图三:initVariables(在onCreate中最先执行的)中利用Log打印当前locale语言的代码

图片说明

图四:打印的Log,分别是按英语、繁体、简体三次选择打印的结果

问题:当我选择“英语”后,Log也打印的是US,说明locale设置的没问题。但每次刷新该Activity(网上说设置完locale需要刷新界面才能加载对应文件夹的strings.xml),再获取locale时,locale又变成和系统语言一样的编号了,怎么改都改不过来。所以导致App一直加载的是values-zh-rCN中的strings.xml,无法实现语言的切换功能。

一直想不通,做了个demo,一样的代码(除了包名其他一样,strings.xml也都一样),demo可以切换,一放进项目里就不行。

这是demo里打印的log:
图片说明

请大佬们指教,实在是想不通究竟为什么

2个回答

假如你的 App 存在某个 activity 和当前设置页 activity 不在一个 task 栈内的话(比如你从某个通知页用 FLAG_ACTIVITY_NEW_TASK 启动的一个 activity),就不会应用语言设置。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问