1

我正在编写一个保存您的偏好的小应用程序。在主活动中,应显示这些首选项。但是,当从 PreferenceActivity 类返回时,我仍然得到旧值。只有当我通过“返回”按钮真正退出应用程序时,视图才会更新。

我尝试将 setText 命令放在 onResume() 和 onRestoreInstanceState() 函数中,但实际上没有一个刷新它。

我该怎么做才能让它刷新?

4

2 回答 2

1

您应该覆盖 onSharedPreferenceChanged 以响应更改的偏好:

@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key) {
    //code
}
于 2013-10-10T17:14:09.677 回答
1

如果从主活动中直接调用 PreferenceActivity,则解决方案是使用 startActivityForResult 方法启动 PreferenceActivity。此方法允许将一些数据从启动的活动传递回启动它的活动。这意味着您必须在主要活动中实现 onActivityResult 方法。

如果您选择此解决方案,请查看官方文档上的文章“Getting a Result from an Activity”:http: //developer.android.com/training/basics/intents/result.html

于 2013-10-10T18:23:17.887 回答