gpt4 book ai didi

Android:更改 Activity 语言

转载 作者:行者123 更新时间:2023-12-04 05:07:47 26 4
gpt4 key购买 nike

我在更改应用程序的一项 Activity 中的所有文本时遇到问题...我正在使用此代码更改语言:

else if (LANGUAGE.equals("Russian"))
{
Resources res = this.getResources();
// Change locale settings in the app.
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.locale = new Locale("ru-rRU");
res.updateConfiguration(conf, dm);
}

在 AndroidManifest 中,我添加了这个字符串:
<activity
android:name="com.vladimir.expert_suise.ThirdScreen"
android:label="@string/title_activity_third_screen"
android:configChanges="locale">
</activity>

当我在手机上启动我的应用程序时,语言没有改变 =(
这是屏幕截图 - screen where i need to change language

那么我的代码有什么问题?(

P.S 我还创建了 values-ru-rRU 文件夹并插入了翻译的 string.xml 文件

最佳答案

首先,将 values-ru-rRU 更改为 values-ru。

您可以使用此方法获取资源

public Resources getCustomResource(String lang){
Locale locale = new Locale(lang);
Resources standardResources = activity.getResources();
AssetManager assets = standardResources.getAssets();
DisplayMetrics metrics = standardResources.getDisplayMetrics();
Configuration config = new Configuration(standardResources.getConfiguration());
config.locale = locale;
Resources res = new Resources(assets, metrics, config);
return res;
}

您可以像这样在代码中使用它
else if (LANGUAGE.equals("Russian"))
{
Resources res = getCustomResource("ru");

}

希望这对你有帮助。

关于Android:更改 Activity 语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com