使用下面这种方式切换语言后为什么要重启才生效?
 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();

解决方案 »

  1.   

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

  2.   

    这么跟你说吧,你就别纠结重启这字眼了
    切换语言要重新load语言资源,重新构造表示的对象,然后刷新画面。
    前面让去参考下设定的语言切换,那个改了后,你找个app加log,看看是走得什么流程就知道了
    就是那个流程,只看画面你是看不到它的重起的。