[英]Best way to notify multiple adapters
想象一下这个场景:
FragmentA extends Fragment{
....
AdapterA adapter = new AdapterB(items);
...
}
FragmentB extends Fragment{
....
AdapterB adapter = new AdapterB(items);
...
}
FragmentC extends Fragment{
....
AdapterC adapter = new AdapterC(items);
...
}
FragmentD extends Fragment{
....
AdapterD adapter = new AdapterD(items);
...
}
所有这些片段都通过 TabLayout 显示。
当用户在例如 FragmentD 中执行操作时,应更新其他 Fragment 的适配器。
您认为向所有适配器执行此“通知”的最佳方式是什么? 我正在考虑为这种行为实现一个观察者模式,但我不知道是否有更好的方法来做到这一点。
您可以使用观察者设计模式:
https://www.geeksforgeeks.org/observer-pattern-set-2-implementation/?ref=rp
您将需要一个 onbservable object,它将提供 3 种方法: - subscribe(Observable o) - unsubscribe(Observable o) - notifyAll(Object updateObj)
然后是每个片段的观察者 object - 当主题/可观察对象发生更改时,它们应该有一个“更新(对象更新对象)”方法来做出反应。
首先,所有的观察者/订阅者都应该订阅 observable。 当一个片段发生变化时,你可以调用 observable 的 notifyAll 方法来通知其他片段
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.