如何更改Android应用程序语言而不更改手机语言?

Suj*_*kar 4 android localization

我希望用户在应用程序中选择一种语言.选择语言后,我希望字符串使用特定语言.

如果我更改手机语言,那么我的应用程序将使用设置语言运行.

我没有办法在不改变手机语言的情况下设置语言.此外,一旦设置了语言,就应该反映出这些变化.

任何人都可以建议一种方法吗?

alo*_*loj 8

试试这个

public static void changeLang(Context context, String lang) {
    Locale myLocale = new Locale(lang);
    Locale.setDefault(myLocale);
    android.content.res.Configuration config = new android.content.res.Configuration();
    config.locale = myLocale;
    context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics());
}
Run Code Online (Sandbox Code Playgroud)

Lang参数对于英语应为"en",对于意大利语应为"it"...之后,您应该重新启动您的活动/片段