场景:您想通过适配器或视图持有者中的点击侦听器显示新片段。以下是我过去见过的两种最常见的解耦方法。我注意到他们都有自己的优点和缺点。
您通常更喜欢哪种方法?
- 在 Activity 侦听的接口上调用方法。
- 发布 Activity 订阅的事件(事件总线)。
- 其他一些方法。
请愿意分享原因。
场景:您想通过适配器或视图持有者中的点击侦听器显示新片段。以下是我过去见过的两种最常见的解耦方法。我注意到他们都有自己的优点和缺点。
您通常更喜欢哪种方法?
请愿意分享原因。
当 Fragment 应该向 Activity 报告事件时,例如实现双窗格布局,我使用第一种方法,因为它很容易从 Fragment 检索 Activity 并将其转换为定义良好的接口。此外,当您看到带有接口实现的 Activity 类声明时,它的作用立即显而易见。方法 2 也是有效的,但对我来说看起来不那么简单。
我认为对于这种情况,最好的方法是首选,因为它的实现很容易。
在尝试了第一个选项和第二个选项之后,我会毫不犹豫地再次使用 EventBus!