使用下面这种方式切换语言后为什么要重启才生效?
Resources resources = getResources();//获得res资源对象
Configuration config = resources.getConfiguration();//获得设置对象
DisplayMetrics dm = resources .getDisplayMetrics();//获得屏幕参数:主要是分辨率,像素等。
if (s.equals("chn")) {
config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文
}else{
config.locale = Locale.ENGLISH;
}
resources.updateConfiguration(config, dm);
resources.flushLayoutCache();
Resources resources = getResources();//获得res资源对象
Configuration config = resources.getConfiguration();//获得设置对象
DisplayMetrics dm = resources .getDisplayMetrics();//获得屏幕参数:主要是分辨率,像素等。
if (s.equals("chn")) {
config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文
}else{
config.locale = Locale.ENGLISH;
}
resources.updateConfiguration(config, dm);
resources.flushLayoutCache();
解决方案 »
- 手机客户端与网络服务器的交互问题!
- android 添加appwidget到桌面
- 屏幕最大分辨率1024*768,android打印出来是800*600
- List中长按事件的上下文标题如何与listitem的text绑定?
- 求教一个简单的服务器向手机推送信息的功能。
- 怎么实现客户端tcp的发送传输,有代码,异步但接收的数据写不到EditText
- 关于Service中的startService或者bindService的区别
- 为什么有的客户端软件只用wifi就可以定位?大多数好像都不行?
- android splash问题
- Rect计算问题
- 有没有前辈能说清vnd.android.cursor.item的
- android使用google地图的问题
就算改了设定值,但是已经生成的,在显示中的东西,不重新创建刷新,当然还是老样子。。
你去参考下设定的语言切换,那个改了后,你找个app加log,看看是走得什么流程就知道了
ondesdroy->oncreate()...
切换语言要重新load语言资源,重新构造表示的对象,然后刷新画面。
前面让去参考下设定的语言切换,那个改了后,你找个app加log,看看是走得什么流程就知道了
就是那个流程,只看画面你是看不到它的重起的。