3
當我從一個活動恢復到另一個活動時,如何重新加載SharedPreferences?如果我繼續,可能是用戶更改了設置。是否有可能重新加載SharedPreferences或我需要刷新/重新加載活動。如果,那麼如何?在簡歷上重新加載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