[英]How to change language of android app ? Locale is deprecated
我刚刚完成了我的应用程序,但在更改应用程序语言的方法上出现此错误
Setting.java:uses or overrides a deprecated API.Recompile with -Xlint:deprecation for details.
这是我的方法
private void setLanguage(String language){
//setting new configuration
Locale locale = new Locale(language);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
con.getApplicationContext().getResources().updateConfiguration(config, null);
//store current language in prefrence
prefData.setCurrentLanguage(language);
//With new configuration start activity again
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
finish();
}
我怎样才能克服这个问题并发布我的应用程序。 提前致谢
config.locale = locale;
从 Android.N 开始不推荐使用,因此请使用以下代码:
@SuppressWarnings("deprecation")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
config.setLocale(locale);
} else {
config.locale = locale;
}
加上重新启动活动的最佳方法是调用:
recreate();
我有同样的问题。这对我有用。
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.setLocale(new Locale("es"));
res.updateConfiguration(conf, dm);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.