在简历上重新加载SharedPreferences? (或如何刷新/重新加载活动)
问题描述:
当我从一个活动恢复到另一个活动时,如何重新加载SharedPreferences?如果我继续,可能是用户更改了设置。是否有可能重新加载SharedPreferences或我需要刷新/重新加载活动。如果,那么如何?在简历上重新加载SharedPreferences? (或如何刷新/重新加载活动)
答
在onResume
中,您在获取和设置SharedPreferences
时没有区别。除了获取最新的首选项之外,您需要执行的操作是更新Activity
中使用首选项值的任何对象。这将确保您的Activity
正在使用最新的值。
一个简单的例子:
protected void onResume() {
super.onResume();
getPrefs();
//...Now update your objects with preference values
}
private void getPrefs() {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String myPref = prefs.getString("myPref", "");
}
谢谢。你的回答解决了我的问题。我意外地调用getDefaultSharedPreferences onCreate而不是onStart。谢谢。 – 2011-03-19 19:11:47
在你的例子中,'getPrefs()'是否会返回任何东西? – 2013-12-09 19:09:23
'super.onResume()'必须在'onResume()'方法的最后一行被调用。 http://cs.dartmouth.edu/~campbell/cs65/lecture05/lecture05.html – 2016-03-26 08:42:53