我已经为应用程序创建了4种语言。我可以更改Lauaguage,但是,如果关闭应用程序,然后再次启动它,应用程序将首先使用默认的string.xml启动。应该首先使用默认语言启动应用程序吗?
如何让应用程序从最后选择的语言开始?
我应该在mainActivity中通过OnCreate调用方法吗?
@SuppressWarnings("deprecation")
public void setLocale(String lang) {
Locale myLocale = new Locale(lang);
DisplayMetrics dm = getResources().getDisplayMetrics();
Configuration conf = getResources().getConfiguration();
conf.locale = myLocale;
getResources().updateConfiguration(conf, dm);
Intent refresh = new Intent(this, Languages.class);
startActivity(refresh);
/* "en" = English
"hi" =Hindi
"fr" =French
"it" =Italian
"de" =German
"es" =Spanish
"ja" =Japanese
"ko" =Korean
"nl" =Dutch
"pt" =Portuguese
"ru" =Russian
"zh" =Chinese
"ar" = arabic
*/
}
用户如何更改默认语言?
是的,我这样做,我保存所选的语言符号像恩,德国,法国,...和标志作为共享偏好字符串的太像路径。 Bave解决这个问题,我必须在每次重新启动应用程序后选择语言。我发现这里有一些simulare,但没有工作:[链接](https://stackoverflow.com/questions/12908289/how-to-change-language-of-app-when-user-selects-language) – Biblio
你可能不得不利用诸如'onCreate','onResume'等的活动生命周期函数来加载文件。你在哪一点检查选定的语言? – Mohale
@Biblio'...和标志的图像路径作为字符串在共享偏好... ** **错误**。你也可以有本地化的可绘制文件夹。不需要做一些天真的事情,比如将路径存储到正确的标志图像。 –