在上述android Jelly bean运行时进行本地化

在上述android Jelly bean运行时进行本地化,android,localization,Android,Localization,我想在运行时更改应用程序的语言。 我已经搜索了很多关于SO的问题,并使用了给定的代码,但这段代码只在jelly bean下面有效。我应该为果冻豆及以上做些什么 Resources res = getContext().getResources(); // Change locale settings in the app. DisplayMetrics dm = res.getDisplayMetrics();

我想在运行时更改应用程序的语言。 我已经搜索了很多关于SO的问题,并使用了给定的代码,但这段代码只在jelly bean下面有效。我应该为果冻豆及以上做些什么

 Resources res = getContext().getResources();
                // Change locale settings in the app.
                DisplayMetrics dm = res.getDisplayMetrics();
                android.content.res.Configuration conf = new Configuration(res.getConfiguration());
                 conf.locale = nLocale;
                res.updateConfiguration(conf, dm);
                getActivity().recreate();

提前感谢。

传递字符串语言,如“hi”和“en”,它在android sdk Jelly Bean或更高版本上不起作用。我使用这行代码getActivity().recreate();但是什么也没发生谢谢它解决了我的问题。事实上,我做了同样的代码问题是我发送了错误的地区代码
Locale locale = new Locale(language);
        Locale.setDefault(locale);
        Resources resources = context.getResources();
        Configuration configuration = resources.getConfiguration();
        configuration.locale = locale;
        resources.updateConfiguration(configuration, resources.getDisplayMetrics());