
public final class TestApplication extends Application{ private Locale desiredLocale = new Locale("ru-RU"); @OverrIDe public voID onCreate() { super.onCreate(); updateLocale(new Configuration()); } @OverrIDe public voID onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); updateLocale(newConfig); } private voID updateLocale(Configuration newConfig) { newConfig.locale = desiredLocale; Locale.setDefault(desiredLocale); getBaseContext().getResources().updateConfiguration(newConfig,getBaseContext().getResources().getdisplayMetrics()); } } 应用程序只包含一个空活动,我在更改设备方向后每秒重新创建一次. Here是样本的来源.
看起来所有使用此技术的应用程序都变得无效.什么是正确的方法?
解决方法 此行导致解决方案失败:getBaseContext().getResources().updateConfiguration(newConfig,getBaseContext().getResources().getdisplayMetrics());
这里定义了正确(至少它可行)的实现
https://stackoverflow.com/a/14010044/554336:
Configuration config = new Configuration();config.locale = locale;getResources().updateConfiguration(config,getResources().getdisplayMetrics());
因此每次都应该创建新的配置实例.
总结以上是内存溢出为你收集整理的Android 4.1中的区域设置更改后,活动闪烁全部内容,希望文章能够帮你解决Android 4.1中的区域设置更改后,活动闪烁所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)