android中使用下面这种方式切换语言后为什么要重启才生效?

plplum 2011-09-05 04:06:57
使用下面这种方式切换语言后为什么要重启才生效?
 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();
...全文
857 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OtherEyeOpen 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 plplum 的回复:]
是有方法不重启应用程序就可以切换语言的!我并不是说重启机器。
[/Quote]
这么跟你说吧,你就别纠结重启这字眼了
切换语言要重新load语言资源,重新构造表示的对象,然后刷新画面。
前面让去参考下设定的语言切换,那个改了后,你找个app加log,看看是走得什么流程就知道了
就是那个流程,只看画面你是看不到它的重起的。
plplum 2011-09-07
  • 打赏
  • 举报
回复

是有方法不重启应用程序就可以切换语言的!我并不是说重启机器。

[Quote=引用 4 楼 othereyeopen 的回复:]

引用 3 楼 plplum 的回复:
那有什么方法可以不用重启就可以切换语言的吗?

重起不是说机器重起
而是要表示的东西要重新构造,刷新。。画面都不刷新怎么能变语言呢?
[/Quote]
OtherEyeOpen 2011-09-06
  • 打赏
  • 举报
回复
没啥好讨论的
就算改了设定值,但是已经生成的,在显示中的东西,不重新创建刷新,当然还是老样子。。
你去参考下设定的语言切换,那个改了后,你找个app加log,看看是走得什么流程就知道了
ondesdroy->oncreate()...
plplum 2011-09-06
  • 打赏
  • 举报
回复
顶起来大家讨论
OtherEyeOpen 2011-09-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 plplum 的回复:]
那有什么方法可以不用重启就可以切换语言的吗?
[/Quote]
重起不是说机器重起
而是要表示的东西要重新构造,刷新。。画面都不刷新怎么能变语言呢?
plplum 2011-09-06
  • 打赏
  • 举报
回复

那有什么方法可以不用重启就可以切换语言的吗?

[Quote=引用 2 楼 othereyeopen 的回复:]

没啥好讨论的
就算改了设定值,但是已经生成的,在显示中的东西,不重新创建刷新,当然还是老样子。。
你去参考下设定的语言切换,那个改了后,你找个app加log,看看是走得什么流程就知道了
ondesdroy->oncreate()...
[/Quote]

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧