Java 语言切换,当用户选择特定语言形式选项菜单时。它应该保持当前本地,直到用户再次更改它
我有一个android项目,它在一个应用程序中支持多个地区,如印地语、英语、乌尔都语等。当我手动选择当地语言时,它可以正常工作,但问题是当我重新启动应用程序时,它会获得默认的当地语言,并且在屏幕上旋转 在手动更改之前,我不想更改本地文件。 在主活动内的Java类中应该做什么?我需要创建一个新的Java类吗 以下是我在主活动中的语言配置代码:Java 语言切换,当用户选择特定语言形式选项菜单时。它应该保持当前本地,直到用户再次更改它,java,android,Java,Android,我有一个android项目,它在一个应用程序中支持多个地区,如印地语、英语、乌尔都语等。当我手动选择当地语言时,它可以正常工作,但问题是当我重新启动应用程序时,它会获得默认的当地语言,并且在屏幕上旋转 在手动更改之前,我不想更改本地文件。 在主活动内的Java类中应该做什么?我需要创建一个新的Java类吗 以下是我在主活动中的语言配置代码: private void setAppLocale (String LocaleCode){ Resources res=getReso
private void setAppLocale (String LocaleCode){
Resources res=getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
conf.setLocale(new Locale(LocaleCode));
}else {
conf.locale = new Locale(LocaleCode.toLowerCase());
}
res.updateConfiguration(conf, dm);
}
private Locale locale = null;
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (locale != null) {
Locale.setDefault(locale);
Configuration config = new Configuration(newConfig);
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
}
}`
我建议您在选择语言时手动将其存储在
SharedReferences
中
默认情况下,在您的
SharedReferences
中,它将是您的本地语言 我建议您在选择语言时手动将其存储在SharedReferences
中
默认情况下,在您的SharedReferences
中,它将是您的本地语言