Ree*_*eed 9 android reload preference preferenceactivity sharedpreferences
在我的应用程序中,一些设置可能会在PreferenceActivity未打开时更改,而我遇到的问题addPreferencesFromResource是调用onCreate,所以说,我打开PreferenceActivity,然后从那里转到另一个屏幕,然后执行一些更改设置,然后按后退键返回PreferenceActivity,然后在布局上没有改变某些设置.
那么,如何在不重复布局的情况下调用所有Preferences每次onResume(或onStart())重新加载?
编辑:此解决方案仅适用于 API 11 +。
我不确定我是否完全理解您的问题,但您可以在活动的 onResume 中添加对 recreate() 的调用,根据我的理解,该活动可以再次经历整个生命周期。
为了确保您只在确实存在脏数据时才执行此操作,我会在 SharedPreferences 中设置一个标志,让您的活动在 onResume() 中知道它需要重新创建。
public void onResume(){
super.onResume();
SharedPreferences pref = getApplicationContext().getSharedPreferences(Constants.PREFS_NAME, Context.MODE_PRIVATE);
if(pref.getBoolean("isDirtyPrefs", true))
recreate();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6204 次 |
| 最近记录: |