最近一块功能里包括设置系统语言,但是设置语言后,Config会发生变化,当前的Activity会OnDestroy掉,然后重新调用OnCreate(类似于屏幕的横竖切换)。
如果不想让Activity重新调用OnCreate,按照横竖切屏的解决方法,在manifest中加入android:configChanges="locale"即可。OnCreate是不会调用了,但是设置完成后,语言不会马上更新过来(比如说你原来是English,设置成中文了,他显示的还是English),必须要重新启动该程序才成。重写了onConfigurationChanged(Configuration newConfig)方法,但又不知道如何在程序中指定使用哪一套资源(一共提供了两套value,一套是English,一套是中文),也不知道android有没有提供这样的接口。
大家有什么好的办法既不让Activity重新调用OnCreate,然后将语言及时的改过来(一设置完就改过来)。androidlanguagelocale