Как перезагрузить SharedPreferences при переходе от одного действия к другому? Если я возобновлю работу, возможно, пользователь изменил настройки. Можно ли перезагрузить SharedPreferences или мне нужно обновить/перезагрузить активность. А если, то как?
Перезагрузить SharedPreferences при возобновлении работы? (или как обновить/перезагрузить активность)
Ответы (1)
Нет никакой разницы в том, как вы получаете и устанавливаете SharedPreferences
в обычном режиме, и в onResume
. Что вам нужно будет сделать в дополнение к получению самых последних настроек, так это обновить любые объекты, которые у вас есть в 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", "");
}
person
user432209
schedule
19.03.2011
Спасибо. Вы ответили, что решили мою проблему. Я случайно вызвал getDefaultSharedPreferences onCreate, а не onStart. Спасибо.
- person Badr Hari; 19.03.2011
В вашем примере предполагается, что
getPrefs()
что-то возвращает?
- person Joshua Pinter; 09.12.2013
super.onResume()
ДОЛЖЕН вызываться в последней строке метода onResume()
. cs.dartmouth.edu/~campbell/cs65/lecture05/lecture05.html< /а>
- person Yousha Aleayoub; 26.03.2016