我认为视图是唯一负责屏幕导航的视图.这里我们对这个"Android-MVP问题"有一个很好的解释,我有两个理由以这种方式思考:
1 - 基本上对我来说,屏幕转换不过是一种视图行为.它属于视图状态.我们知道演示者必须通过视图方法控制视图状态,但实际上是实现这种转换的视图(例如,调用startActivity).
2 - 屏幕之间的导航有一些Android SDK依赖,如Intents,Bundles,FragmentsManagers等......如果你想使用MVP + Clean Architecture(强烈推荐),你"不能"共享你之间的Android依赖关系演示者,因为他们应该只是java,以使单元测试更容易.
你是对的。模型做不到,视图也做不到。
在我的应用程序中,导航是通过从最大的演示者到较小的演示者级联来处理的。例如,整个应用程序演示者获取整个位置,对其进行解析,并将任何相关部分发送给下一个演示者以获得更细粒度的细节。