android – 在Resume上的PreferenceActivity中重新加载首选项

在我的应用程序中,一些设置可能在PreferenceActivity未打开时被更改,我遇到的一个问题是在onCreate中调用了addPreferencesFromresource,所以说,我打开PreferenceActivity,然后从那里转到另一个屏幕,然后执行更改设置的操作,然后按返回键返回PreferenceActivity,然后某些设置在布局上没有更改.

那么,每次调用onResume(或onStart())时如何重新加载所有首选项而不重复布局?

解决方法

编辑:此解决方案仅适用于API 11.

我不确定我是否完全理解你的问题,但你可以添加一个调用来重新创建()到活动的onResume,从我的理解中,活动再次经历整个生命周期.

为了确保只在实际存在脏数据时才这样做,我会在SharedPreferences中设置一个标志,让你的活动在onResume()中知道它需要重新创建.

public void onResume(){
            super.onResume();
            SharedPreferences pref = getApplicationContext().getSharedPreferences(Constants.PREFS_NAME,Context.MODE_PRIVATE);
            if(pref.getBoolean("isDirtyPrefs",true))
                recreate();
        }

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...