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



我有2个UI活动(w/Fragments)以及一个SettingsActivity(从PreferenceActivity派生)在我的第一个android应用程序。它'工作',但我想确保我做习惯正确的事情,因为用户之间的视图和首选项流动。

具体-当我改变我的"位置"偏好(当用户在SettingsActivity)到不同的邮政编码,我希望应用程序从服务中获取一些后台数据。但是,我需要在设置更改之前的任何视图中刷新UI(考虑到新数据)。

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

希望这不是太抽象,我想分享代码,但有太多的清理工作要做,我希望这就足够了。

我会把这个功能放到一个单独的类MyCurrentZipcode中,

  • 可以被每个消耗邮政编码相关数据的活动使用,
  • 如果邮政编码发生变化,
  • 会被通知。
  • 在后台下载zip数据。

您可以创建一个方法MyCurrentZipcode.addOnZipcodeChanged(),其中消费活动可以注册以获得更改通知。

最新更新