Android 在运行时更改语言的最佳方法

Android 在运行时更改语言的最佳方法,android,Android,我正在开发一个应用程序,我添加了一个设置屏幕,允许用户更改应用程序字符串文本的语言 在活动的onCreate方法中,我使用以下代码: SharedPreferences settings = getSharedPreferences(PREFS_FILE, 0); String language = settings.getString(PREF_LANGUAGE, "en"); Locale locale = new Locale(language); Locale.setDefault(lo

我正在开发一个应用程序,我添加了一个设置屏幕,允许用户更改应用程序字符串文本的语言

在活动的
onCreate
方法中,我使用以下代码:

SharedPreferences settings = getSharedPreferences(PREFS_FILE, 0);
String language = settings.getString(PREF_LANGUAGE, "en");
Locale locale = new Locale(language);
Locale.setDefault(locale);Configuration config = new     Configuration();config.locale = locale;getResources().updateConfiguration(config, getResources().getDisplayMetrics());
它工作正常,但不推荐使用
config.locale
getResources().updateConfiguration

我应该如何实现避免使用这些命令的功能


我在SO中读过一些帖子,但都建议使用
@superswarnings
。不存在其他解决问题的方法吗?

那么,您是否在寻找一个选项,让英语操作系统手机在运行时将字符串更改为西班牙语、德语、葡萄牙语,然后再更改为英语?为什么?我问为什么,因为这将是相当复杂的应用程序显示文字的语言的手机默认情况下,但有一个设置屏幕。其中一个首选项允许选择另一种语言,此时监听器会检测到该更改并存储该语言的新值。我发布的代码是有效的,但它有两条不推荐使用的指令。我希望使用其他未弃用的说明来执行此操作