【问题标题】:How can I refresh view after a setting is changed?更改设置后如何刷新视图?
【发布时间】:2015-05-22 20:51:28
【问题描述】:

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

我很困惑在主要活动上监听设置更改的正确方法是什么,以及当更改发生时我应该如何刷新视图。谁能解释一下?

【问题讨论】:

    标签: android android-fragments android-settings


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      观察者是解决问题的好选择。

      这里有一个示例。 OBSERVER

      希望这会有所帮助!

      【讨论】:

      • 虽然理论上可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
      猜你喜欢
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多