gpt4 book ai didi

android - 开始 Activity 时选择android应用程序的语言

转载 作者:搜寻专家 更新时间:2023-11-01 07:54:14 26 4
gpt4 key购买 nike

我想设置在活动开始时选择的应用程序语言,该语言的值在SharedPreferences中定义。
以下代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences sharedPreferences = getSharedPreferences("language", Context.MODE_PRIVATE);
String language = sharedPreferences.getString("language", "");
Log.e("lang is :", language);
if (language == "fr") {
Locale locale = new Locale("fr");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getResources().updateConfiguration(config, null);
//finish();
//startActivity(getIntent());
}else if(language == "en"){
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getResources().updateConfiguration(config, null);
}
setContentView(R.layout.activity_main);

问题是应用程序总是从设备的语言开始!!!

最佳答案

好的,试着这样修改代码:

            Resources res = getResources();
// Change locale settings in the app.
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.locale = new Locale("put the value that u get from SharedPreferences);
res.updateConfiguration(conf, dm);

希望能成功!

关于android - 开始 Activity 时选择android应用程序的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506536/

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