语言变为阿拉伯语不起作用?

时间:2017-08-17 10:56:32

标签: android

我已根据此ans从设置中实现了更改语言,但在杀死我的应用程序后,某些应用程序屏幕变为英语。

我已经实现了如下代码 启动画面代码

String   deviceLanguage = Locale.getDefault().getLanguage();

if (!"en".equalsIgnoreCase(deviceLanguage) && !"ar".equalsIgnoreCase(deviceLanguage)){
            deviceLanguage="en";
        }
((AppController)getApplication()).appLang= Utilities.getSaveData(this, getString(R.string.key_language),deviceLanguage);

详细活动代码

@Override
protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(MyContextWrapper.wrap(newBase, ((AppController)newBase.getApplicationContext()).appLang));
}

注意:我在一个加3T设备和genymotion模拟器与5.1安卓版本中遇到此问题

1 个答案:

答案 0 :(得分:1)

final Resources res = appContext.getResources();
final Configuration conf = res.getConfiguration();
conf.locale = new Locale("ar", "AE");      
res.updateConfiguration(conf, null);

更新配置后,重启活动,如下所述

finish();
final Intent intent = getIntent();
startActivity(intent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);