如何在更改设置后刷新视图?

时间:2015-03-19 16:12:40

标签: android android-fragments android-settings

我有一个显示距离和音量的应用。我有一个SettingsFragment,允许我选择距离,英里或公里,以及体积,加仑或升的单位。更改单位之间但不是立即工作,我必须翻转手机或重置应用程序以查看更改。我希望设置更改立即反映在主要活动上,但我不确定如何完成此操作。我做了一些研究并找到了一个可能的解决方案:设置guide建议我应该实现OnSharedPreferenceChangeListener接口来监听更改。但这是在PreferenceFragment上实现的,而不是在不同的活动上实现的。这是一个类似的solution

我对在主要活动上监听设置更改的正确方法以及如何在更改发生时刷新视图感到困惑。有人可以澄清一下吗?

2 个答案:

答案 0 :(得分:1)

第二个链接中的答案,使用onSharedPreferenceChangeListener()是您所需要的。在片段中设置监听器,然后通过片段中的调用通知主活动:

((MainActivity)getActivity()).updateData(updatedData);

您必须在主要活动中实施公共方法updateData(...)。

答案 1 :(得分:0)

观察者是解决问题的好方法。

这里有一个样本。 OBSERVER

希望这有帮助!