不推荐使用updateConfiguration() - Android

时间:2017-08-22 13:39:04

标签: android android-layout

我为多种语言和多种设备定义layouts,如下所示:

enter image description here

我使用自定义语言设置正确的layout,如下:

String languageToLoad = "ar"; 
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.setLocale(locale);
getBaseContext().getResources().updateConfiguration(config, null);
this.setContentView(R.layout.activity_main);

对于语言(ar - 阿拉伯语),我提取layout-ldrtllayout-ldrtl-sw600dp以及其他语言(英语 - 英语)我获取layout-ldltrlayout-ldltr-sw600dp及以上代码的好工作。

问题:在这一行中getBaseContext().getResources().updateConfiguration(config, null);说我updateConfiguration已被弃用,然后我从createConfigurationContext使用,但当我使用此方法时,来源不需要#&# 39;工作正常,不能让我得到适当的布局。

1 个答案:

答案 0 :(得分:0)

解决了我的问题。我使用此LINK然后使用以下代码中的activity使用:

Context context = MyContextWrapper.wrap(this, "en");
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(context.getResources().getLayout(R.layout.activity_main), null);
this.setContentView(view);