我成功地将我的应用程序从活动转换为具有2个选项卡/片段并在它们之间滑动的选项卡/片段应用程序:)
现在我有两个选项卡:1-主选项卡-根据存储在共享首选项中的设置显示文本字段和内容。2-设置-提供一些输入以更改这些共享的首选项。
问题是,当我更改设置(共享偏好)时,主选项卡不会根据新的共享偏好进行更新。
我正在寻找一种解决方案来更新主选项卡,可能还有未来的一两个选项卡,当共享首选项(从设置选项卡)发生变化时,尽可能多地解耦。我不希望设置选项卡显式地保留对其他片段的引用并执行更新。。。
我尝试实现某种观察者模式,其中设置选项卡宣布在设置更改后需要更新,但没有找到如何让其他选项卡实际执行更改,因为它们在视图寻呼机中,这有点使事情复杂。。。
感谢您的帮助。我使用的TabsAdapter来自:http://developer.android.com/reference/android/support/v4/view/ViewPager.html
您有两个选项:
-
使用设置片段中的
getActivity()
,通过主"活动"重新加载所有片段。 -
创建一个名为
SettingsListener
的接口,该接口将具有类似onSettingsChanged()
的功能,并在应该更新的片段中实现它。设置片段将包含一个侦听器列表。