我有一个显示距离和音量的应用。我有一个SettingsFragment,允许我选择距离,英里或公里,以及体积,加仑或升的单位。更改单位之间但不是立即工作,我必须翻转手机或重置应用程序以查看更改。我希望设置更改立即反映在主要活动上,但我不确定如何完成此操作。我做了一些研究并找到了一个可能的解决方案:设置guide建议我应该实现OnSharedPreferenceChangeListener接口来监听更改。但这是在PreferenceFragment上实现的,而不是在不同的活动上实现的。这是一个类似的solution。
我对在主要活动上监听设置更改的正确方法以及如何在更改发生时刷新视图感到困惑。有人可以澄清一下吗?
答案 0 :(得分:1)
第二个链接中的答案,使用onSharedPreferenceChangeListener()是您所需要的。在片段中设置监听器,然后通过片段中的调用通知主活动:
((MainActivity)getActivity()).updateData(updatedData);
您必须在主要活动中实施公共方法updateData(...)。
答案 1 :(得分:0)