首先,在用户改变语言区域后,调用如下代码
Locale locale = getLocaleFormPreference(this);
Configuration cfg = getResources().getConfiguration();l
if(ocale!=null && !locale.equals(cfg.locale)) {
Bundle bundle = new Bundle();
onSaveInstanceState(bundle);
Intent intent = getIntent();
intent.putExtra("InstanceState", bundle);
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivity(intent);
finish();
}
之后,在被启动的Activity 的onCreate(Bundle savedInstanceState)的最后位置运行下面
的代码:
if(savedInstanceState == null) {
savedInstanceState = getIntent().getBundleExtra("InstanceState");
if(savedInstanceState != null) {
onRestoreInstanceState(savedInstanceState);
}
}