在我的应用程序中,一些设置可能在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(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。