You can use your Activity method "recreate", but I think it requires API level 11, like this:
public void setLocale(String currentLanguage) {
myLocale = new Locale(currentLanguage);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
recreate ();
}
Or if this is a Locale update you use this:
Locale locale = new Locale(AR_LANG);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics());