Android 使用新的本地服务器强制重新加载现有活动的正确方法是什么

Android 使用新的本地服务器强制重新加载现有活动的正确方法是什么,android,Android,有一个允许用户更改区域设置的设置对话框/活动。在这个活动中,我称之为 Resources res = ctx.getResources(); // Change locale settings on the device DisplayMetrics dm = res.getDisplayMetrics(); android.content.res.Configuration conf = res.getConfiguration(); conf.locale = new Locale

有一个允许用户更改区域设置的设置对话框/活动。在这个活动中,我称之为

 Resources res = ctx.getResources(); 
// Change locale settings on the device 
DisplayMetrics dm = res.getDisplayMetrics(); 
android.content.res.Configuration conf = res.getConfiguration(); 
conf.locale = new Locale(language_code.toLowerCase(), 
coutry_code.toUpperCase()); 
res.updateConfiguration(conf, dm); 
并为我的设置ListView调用onChanged()。。。一切都变了 完美地很不错的。 然后我点击后退按钮返回到上一个活动 认为一切都应该改变;不。一切都还在进行中 上一个区域设置。因此,我在的onResume()中添加了上述代码 思考能做到这一点的活动;不。另外,当我单击 此活动的菜单按钮再次(不是第一次)我不明白 在onCreateOptions菜单()中调用,它只显示上一个菜单。 我的问题是,强制现有活动停止的正确方式是什么
使用新的本地服务器重新加载

我不太清楚,但这似乎是一笔开销。swithicng地区的标准方式是通过系统设置。让用户在那里切换区域设置,只需在代码中使用
locale.getDefault()

父活动中的OnSharedPreferenceChangeListener是响应首选项更改的正确位置。至于刷新UI,我不完全确定。我们被告知让android为我们管理活动的生命周期,但我认为这并不总是可行的。一个选项是从onSharedPreferenceChanged调用onCreate()


编辑:抱歉,此侦听器可能无法工作,因为您不是在谈论共享首选项。

我是否可以直接调用应用程序中的设置界面,而不是使用systerm菜单调用系统设置。