更改设置后如何刷新视图?
How can I refresh view after a setting is changed?
我有一个显示距离和体积的应用程序。我有一个 SettingsFragment,它允许我选择距离单位、英里或公里,以及体积单位、加仑或升。单位之间的更改有效但不是马上,我必须翻转 phone 或重置应用程序才能看到更改。我希望设置更改立即反映在主要 activity 上,但我不确定如何完成此操作。我做了一些研究并找到了一个可能的解决方案:设置 guide suggest that I should implement the OnSharedPreferenceChangeListener interface to listen for changes. But this is implemented on PreferenceFragment and not on a different activity. This is a similar solution.
我很困惑什么是监听主设置更改的正确方法 activity 以及当更改发生时我应该如何刷新视图。谁能澄清一下?
第二个 link 中的答案,使用 onSharedPreferenceChangeListener() 是您所需要的。在片段中设置侦听器,然后通过片段中的调用通知主要 activity:
((MainActivity)getActivity()).updateData(updatedData);
您必须在 activity.
中实现 public 方法 updateData(...)
Observer 是解决您问题的好选择。
这里有一个示例。 OBSERVER
希望对您有所帮助!
我有一个显示距离和体积的应用程序。我有一个 SettingsFragment,它允许我选择距离单位、英里或公里,以及体积单位、加仑或升。单位之间的更改有效但不是马上,我必须翻转 phone 或重置应用程序才能看到更改。我希望设置更改立即反映在主要 activity 上,但我不确定如何完成此操作。我做了一些研究并找到了一个可能的解决方案:设置 guide suggest that I should implement the OnSharedPreferenceChangeListener interface to listen for changes. But this is implemented on PreferenceFragment and not on a different activity. This is a similar solution.
我很困惑什么是监听主设置更改的正确方法 activity 以及当更改发生时我应该如何刷新视图。谁能澄清一下?
第二个 link 中的答案,使用 onSharedPreferenceChangeListener() 是您所需要的。在片段中设置侦听器,然后通过片段中的调用通知主要 activity:
((MainActivity)getActivity()).updateData(updatedData);
您必须在 activity.
中实现 public 方法 updateData(...)Observer 是解决您问题的好选择。
这里有一个示例。 OBSERVER
希望对您有所帮助!