在恢复时重新加载SharedPreferences?(或如何刷新/重新加载活动)

4

当我从一个活动恢复到另一个活动时,如何重新加载SharedPreferences?如果我恢复,用户可能已更改设置。是否可以重新加载SharedPreferences,还是需要刷新/重新加载活动。如果需要的话,该怎么办?

1个回答

4

在通常情况下获取和设置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", "");
}

谢谢。你的回答解决了我的问题。我在onCreate中意外调用了getDefaultSharedPreferences而不是onStart。谢谢。 - Badr Hari
1
在你的示例中,getPrefs() 应该返回任何内容吗? - Joshua Pinter
super.onResume() 必须在 onResume() 方法的最后一行调用。http://cs.dartmouth.edu/~campbell/cs65/lecture05/lecture05.html - Yousha Aleayoub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接