Android MVP – 如何在活动演示者和片段演示者之间进行通信

我有一个3片段的活动,目前我使用ViewPager。 我想实现MVP并在活动演示者和片段演示者之间进行通信,即:

  • 将活动演示者的数据传递给片段演示者
  • 从片段演示者发送事件到活动演示者

但我不知道如何以官方的方式去做。 我可以使用BusEvent,但我不认为这是一个好的做法。

Solutions Collecting From Web of "Android MVP – 如何在活动演示者和片段演示者之间进行通信"

根据我的理解,对于你的UseCase,假设ActivityA有一个viewPager,它有3个片段(FragmentA,FragmentB,FragmentC)。

ActivityA有ActivityPresenterA

片段A有FragmentPresenterA

按照MVP,FragmentPresenterA只负责FragmentA的所有逻辑和业务stream程,只应与FragmentA进行通信。 因此,FragmentPresenterA不能直接与ActivityPresenterA进行通信。

对于从Fragment到Activity的沟通,主持人不应该参与进来,而应该这样做,因为我们会在非MVP体系结构中进行沟通,即在界面的帮助下进行沟通。

活动分段通信同样适用。

活动和片段之间的沟通阅读这里