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

前端之家收集整理的这篇文章主要介绍了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相关文章