Android系统切换语言的时候APP无法更新资源文件的解决方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android系统切换语言的时候APP无法更新资源文件的解决方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1413字,纯文字阅读大概需要3分钟。
内容图文
你的APP支持多语言环境,假如它正在后台运行,此时用户去更换系统语言,等系统语言换好后直接从后台打开它,此时用户会发现你的界面语言没有和系统语言保持一致;为什么?主要是界面资源没有重新加载
如果你是属于自己在APP内设置语言切换,那么就可以直接在你设置切换的那个activity里做处理,重新启动一次该activity就可以了,但是如果你的APP和我类似本身是没有切换语言功能的,只是跟随系统的,那么你不可能在所有的activity里处理吧!所以我这里就直接在application中重新启动一次app就可以解决更新资源问题了
我们都知道在Application是Android的第一入口,那么一旦系统切换语言,就会触发它的onConfigurationChanged()方法,那么重新启动我们就直接在这个方法中处理,此处的finishActivity();方法是关闭掉所有的activity,那么在BaseActivity里就需要执行MyApp.getInstance().addActivity(this);
public
class
MyApp
extends
Application{
private
static MyApp instance = null;
private List<Activity> activities =new ArrayList<Activity>();
publicvoidaddActivity(Activity activity){
activities.add(activity);
}
publicvoidfinishActivity() {
for (Activity activity : activities) {
activity.finish();
}
}
publicstatic MyApp getInstance() {
if (instance == null) {
instance = new MyApp();
}
return instance;
}
@OverridepublicvoidonCreate() {
// TODO Auto-generated method stubsuper.onCreate();
instance = this;
}
@OverridepublicvoidonConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stubsuper.onConfigurationChanged(newConfig);
//配置改变触发此方法
finishActivity();//语言切换退出//最开始我是直接用的下面的方法,测试的时候发现如果app启动了多个activity的时候这个执行这个方法会导致app多重启几次,最后用批量关闭activity解决了//System.exit(0);//android.os.Process.killProcess(android.os.Process.myPid());
}
}
原文:http://blog.csdn.net/tmacsky/article/details/43834781
内容总结
以上是互联网集市为您收集整理的Android系统切换语言的时候APP无法更新资源文件的解决方法全部内容,希望文章能够帮你解决Android系统切换语言的时候APP无法更新资源文件的解决方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。