在PreferencesActivity和Views之间转换的正确方法

时间:2015-07-30 23:33:47

标签: android android-activity android-preferences

我的第一个Android应用程序中有2个UI活动(带有片段)以及一个SettingsActivity(源自PreferenceActivity)。它“有效”,但我想确保我正在做正确的事情,因为用户在视图和偏好之间流动。

具体来说 - 当我将'位置'偏好(当用户在SettingsActivity中)更改为其他邮政编码时,我希望该应用从服务中获取一些背景数据。但是,我需要在设置更改之前的任何视图中刷新UI(将新数据考虑在内)。

这样做是'正确的事' - 当邮政编码改变时,在PreferenceActivity的onPreferenceChangeListener()中做工作(获取后台数据),然后让前面的UI活动消耗数据(现在更新了)当用户返回时,onStart()方法中的数据源的单例抽象)?或者是否有更好的方法(例如,以某种方式捕获UI活动中的'首选项已更改',并在那里完成所有工作,而不是在PreferenceActivity中)。

希望这不是太抽象,我会共享代码,但是我必须做很多清理,我希望这就足够了。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我会将功能放入单独的MyCurrentZipcode

    每个使用邮政编码依赖数据的活动都可以使用
  • 如果邮政编码发生变化,
  • 会收到通知。
  • 执行zip数据的后台下载。

您可以创建一个方法MyCurrentZipcode.addOnZipcodeChanged(),其中消费活动可以注册以获取有关更改的信息。