【发布时间】:2018-07-11 09:49:54
【问题描述】:
我想知道您如何在模型-视图-演示者架构中的演示者之间交换数据或/和事件。
我有这个视图的活动(视图)和演示者,以及这个视图的对话框(视图)和演示者。当Activity显示Dialog时,Dialog的Presenter被注入到Dialog中。我在对话框(输入文本)中做某事并提交。此文本设置在演示者中,并且...完全正确。如何将这些数据从 Dialog 的 Presenter 传递给 Activity 的 Presenter?
我使用 Bus Event (Otto form Square) 来发送数据,但如果是好的做法呢?
【问题讨论】:
-
当您完成对话框中的任何工作后,只需使用接口将其传递给 Activity。
-
但对话框不知道应该发送什么。对话框是转储。对话框只知道确定被点击并通知演示者。
-
您必须将文本传输到对话演示者。我们没有对文本执行任何工作,那么为什么要传递它呢?而是直接将其传递给活动,或者如果您可以使用
EventBus或LocalBroadcast,您可以这样做。在 mvp 中,虽然演示者之间使用接口直接交互被认为是一种不好的做法,因为它会增加耦合。 -
好的,但如果不是对话框而是其他组件?即fragment 和他的主持人?
-
他们也一样。您将在组件内使用接口的实例并在您的活动中实现它。
标签: java android communication mvp pass-data