如何重新创建以前的活动?

Dru*_*ass 7 android recreate

我有一个主要活动(我们称之为 A)和第二个活动(我们称之为 B),用于更改应用程序的语言。关键是,当我单击按钮更改我也调用的语言时recreate();,B 更改了它的语言。到这里就OK了。当我回到主要活动(A)并且它没有更新语言时问题就出现了,因为它没有被重新创建,那么,有没有办法从 B 重新创建 A 以更新 A?

我使用此代码来翻译应用程序(英文版示例):

public void btnIngles_onClick(View v)
{
    Locale locale = new Locale("en");
    Locale.setDefault(locale);

    Configuration config = new Configuration();
    config.locale = locale;
    this.getApplicationContext().getResources().updateConfiguration(config, null);
    recreate();
}
Run Code Online (Sandbox Code Playgroud)

Dro*_*man 7

1)Activity B更改一些全局设置,SharedPreferences例如通过访问

2)在Activity A做:

@Override
protected void onResume() {
    super.onResume();
    if(didLanguageChange)
      recreate();
}
Run Code Online (Sandbox Code Playgroud)

问题解决了。Activity A 调用,onResume()因为它在Activity B进入前台时已切换到暂停状态。