在简历上重新加载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", ""); 
} 
+0

谢谢。你的回答解决了我的问题。我意外地调用getDefaultSharedPreferences onCreate而不是onStart。谢谢。 – 2011-03-19 19:11:47

+1

在你的例子中,'getPrefs()'是否会返回任何东西? – 2013-12-09 19:09:23

+0

'super.onResume()'必须在'onResume()'方法的最后一行被调​​用。 http://cs.dartmouth.edu/~campbell/cs65/lecture05/lecture05.html – 2016-03-26 08:42:53