2011-03-19 216 views

回答

3

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