将数据从视图传递到Android MVP中的另一个模型视图

问题描述 投票:0回答:1

在我的MVP应用程序中,我有两个活动(视图)。第一个从用户获取输入数据,这将需要第二个活动的模型从repo获取数据。

目前,我有以下链:

VIEW 1中的数据 - {Intent} - > VIEW 2 => PRESENTER 2 => MODEL 2

我想知道是否是另一种更清洁或更好的方法来获得相同的结果。数据是可选的 - 因此可能并不总是通过。

android kotlin mvp
1个回答
0
投票

这是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强制的。

© www.soinside.com 2019 - 2024. All rights reserved.