Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android 4.1中的区域设置更改后,活动闪烁大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一年前实现了自定义区域设置选择,但在4.1版本发布后,用户开始抱怨常量活动闪烁.这是我正在使用的代码(从不同的SO答案编译):

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);
        getBaseCo@R_874_10443@t().getresources().updateConfiguration(newConfig,getBaseCo@R_874_10443@t().getresources().getDisplaymetrics());        
    }    
}

应用程序只包含一个空活动,我在更改设备方向后每秒重新创建一次. Here是样本的来源.

看起来所有使用此技术的应用程序都变得无效.什么是正确的方法

解决方法

此行导致解决方案失败:

getBaseCo@R_874_10443@t().getresources().updateConfiguration(newConfig,getBaseCo@R_874_10443@t().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中的区域设置更改后,活动闪烁所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。