use*_*117 12 android localization
我们有一个Android应用程序,可用作远程PC程序的客户端.我们想添加一个功能,以便PC可以指示Android应用程序在运行时更改其语言环境,即启动应用程序; 把它与PC通信; 一段时间后,PC告诉应用程序切换到西班牙语或中文.
我们已经为各自的语言环境设置了所有布局和字符串资源.我们的应用程序是用户看到的唯一应用程序,因此如果设备的其余部分保留英语则无关紧要.
在Android中以编程方式在Change语言上有另一个线程,但它似乎没有得出结论.
我可以...
Locale locale = new Locale(sTheNewLocale);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)
...在setContentView ()之前的onCreate()中,但是如果我想在屏幕启动并运行后更改语言环境,则无法提供帮助.有没有办法在Activity已经运行后重新加载内容视图?所以是没有改变的即时语言环境中可靠地或做我要告诉我的老板也不能只是在开始应用之前整个设备设置成新的语言环境进行任何实际的方法?
wes*_*ton 17
由于您可以使用API 11,recreate因此可以在您的活动中使用此方法:
private void restartInLocale(Locale locale)
{
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
Resources resources = getResources();
resources.updateConfiguration(config, resources.getDisplayMetrics());
recreate();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14939 次 |
| 最近记录: |