Android系统切换语言的时候APP无法更新资源文件的解决方法

你的APP支持多语言环境,假如它正在后台运行,此时用户去更换系统语言,等系统语言换好后直接从后台打开它,此时用户会发现你的界面语言没有和系统语言保持一致;为什么?主要是界面资源没有重新加载

如果你是属于自己在APP内设置语言切换,,那么就可以直接在你设置切换的那个activity里做处理,重新启动一次该activity就可以了,但是如果你的APP和我类似本身是没有切换语言功能的,只是跟随系统的,那么你不可能在所有的activity里处理吧!所以我这里就直接在application中重新启动一次app就可以解决更新资源问题了

我们都知道在Application是Android的第一入口,那么一旦系统切换语言,就会触发它的onConfigurationChanged()方法,那么重新启动我们就直接在这个方法中处理,此处的finishActivity();方法是关闭掉所有的activity,那么在BaseActivity里就需要执行MyApp.getInstance().addActivity(this);

{private static MyApp instance = null;private List<Activity> activities =new ArrayList<Activity>();(Activity activity){activities.add(activity);}() {for (Activity activity : activities) {activity.finish();}}public static MyApp getInstance() {if (instance == null) {instance = new MyApp();}return instance;}() {// TODO Auto-generated method stubsuper.onCreate();instance = this;}(Configuration newConfig) {// TODO Auto-generated method stubsuper.onConfigurationChanged(newConfig);//配置改变触发此方法finishActivity();}}

追寻爱情,然后发现,爱,从来就是一件千回百转的事。

Android系统切换语言的时候APP无法更新资源文件的解决方法

相关文章:

你感兴趣的文章:

标签云: