我正在使用自定义过滤器,并将约束传递给适配器的过滤器,在这种情况下,我现在想将约束传递给另一个适配器,如何在两个不同的适配器之间进行通信?
最佳答案
如果您在代码中遵循MVP设计,则很容易解决此问题。
让我假设一些类名,因为您还没有提到。假设您在adapter1
和adapter2
内有两个适配器-fragment1
和fragment2
。让我们假设将片段添加到名为MainActivity
的活动中
现在,您应该使用为适配器和片段的回调实现的接口。因此,Fragment1
实现adapter1CallbackInterface
,而fragment2
实现adapter2CallbackInterface
。类似地,MainActivity
实现fragment1CallackInterface
。这照顾了反向通信。现在,适配器和片段具有用于向前通信的公共方法。
因此,只要有人在您的adapter1
中选择过滤器,callflow
就会是:
adapter1
-> adapter1CallbackInterface
-> fragment1CallbackInterface
-> fragment2PublicMethod
-> adapter2PublicMethod
不用说,如果adapter1
和adapter2
直接包含在您的活动中,则可以忽略fragment1Callback
和fragment2PublicMethod