在我的MVP应用程序中,我有两个活动(视图)。第一个从用户获取输入数据,这将需要第二个活动的模型从repo获取数据。
目前,我有以下链:
VIEW 1中的数据 - {Intent} - > VIEW 2 => PRESENTER 2 => MODEL 2
我想知道是否是另一种更清洁或更好的方法来获得相同的结果。数据是可选的 - 因此可能并不总是通过。
这是Android上的一个不幸的缺点 - 由于Activities和Co.的工作方式,不可能将View从逻辑100%分离出来。你不能发送一个Intent而不必干涉一些View的东西。
但是,通过更严格的MVP,您的模型仍然可以变得更加清洁。通常,View根本不应包含任何逻辑。这意味着当事件(例如用户单击某个输入按钮)出现时,它也应该决定不应该做什么。话虽如此,对您的情况采取更清洁的方法
VIEW 1 [用户操作] => PRESENTER 1 => VIEW 1 [发送意图的方法] - {Intent} - > VIEW 2 => PRESENTER 2 => MODEL 2
但不幸的是,必须通过View发送Intents的限制是由Android强制的。