android 语言切换问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 语言切换问题相关的知识,希望对你有一定的参考价值。
我在每个活动和Application里都添加了 android:configChanges="locale"这个属性,可是总有几个地方文字始终切换不来,为什么呢,求大神!!
参考技术A 在android 2.0的平台上,如果你使用了强制语言转换,你会看到屏幕在不断的闪烁。因为这个Activity在不断的执行onCreate();在Logcat上你 也会看到如下错误:"something wrong here, didn't expect * to be resumed android". 解决办法是: 在manifest 中添加android:configChanges=”locale”这个属性。 [xml]<activity android:name=”.Main” android:configChanges=”locale” android:label=”@string/app_name” />[/xml]低于2.0的sdk没有这个问题。追问都加过了,谢谢你,不过这样不行
参考技术B Android对国际化与多语言切换已经做得不错了,一个应用只要命名相应语系的values-[language]文件夹,通过“设置”→“语言&键盘”→“选择语言”即可实现应用多种语言的切换。 参考技术C 需要在onConfigurationChanged监听中判断是否切换语言,如果切换语言,则需重新load res中的资源追问嗯,大致知道了,谢谢啊
参考技术D 看看是不是代码里写死的,检查string文件检查value设置追问没有写死,全部是引用,各语言都是对应的,定位检查过 了也
本回答被提问者采纳为啥 Android Studio 不断切换“语言级别”?
【中文标题】为啥 Android Studio 不断切换“语言级别”?【英文标题】:Why does Android Studio keep toggling `languageLevel`?为什么 Android Studio 不断切换“语言级别”? 【发布时间】:2018-12-04 12:44:10 【问题描述】:很多时候,当我查看使用 Android Studio 构建的 Android 应用的 git diff
输出时,我会看到以下内容。有时它会将languageLevel
从JDK_1_7
更改为JDK_1_8
。其他时候,它会将languageLevel
从JDK_1_8
更改为JDK_1_7
。怎么这么优柔寡断??
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -24,7 +24,7 @@
</value>
</option>
</component>
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
【问题讨论】:
Android .idea/misc.xml's languageLevel tag keeps changing JDKs的可能重复 【参考方案1】:1) 将此添加到您的应用 build.gradle
(在 android
元素内)
compileOptions
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
2) 从 Git 中排除 .idea
文件夹,将其添加到您的项目级别 .gitignore
# Ignore idea folder
.idea/
那么您需要按照this 之类的内容刷新版本化文件
对
.idea
文件夹进行版本控制,仅用于共享一些 AS 与您的团队一起设置,如果您独自工作或没有 共享编码策略,您可以将其删除。
【讨论】:
添加compileOptions
不会阻止misc.xml
切换languageLevel
。排除 .idea
文件夹只会通过使版本控制忽略 misc.xml
来隐藏问题,并且还会阻止与您的团队共享 AS 设置(正如您已经提到的)。这个答案既没有解释为什么 misc.xml
保持切换,也没有提供防止misc.xml
切换的解决方案。
当时我认为这是一个 AS 或 Intellij 错误,现在在 AS 3.4 中它不会发生在我身上(而且我使用的是默认的 gitignore,其中 misc.xml 是版本化的)。我提到的是几乎每个人都使用的解决方法以上是关于android 语言切换问题的主要内容,如果未能解决你的问题,请参考以下文章