2017-01-31 31 views

回答

9

这当然是可能的。假设你的活动实现你的浏览界面,你就必须像接口的方法:

void startNextActivity(MyData data); 

那么活动:

@Override 
void startNextActivity(MyData data) { 

    // create bundle 
    // send intent 
} 

而在主持人:

view().startNextActivity(myData); 

不过我不建议你这样做

我认为有很多经典应该在做MVP时谨慎使用Android模式。这包括诸如onActivityResult &使用Bundle在Activities/Fragments之间传递数据的事情。

保持事物尽可能分离和干净活动应避免与其他活动交谈,演示者不应与其他演示者交谈等。如果您需要从另一个活动中的一个活动访问数据,则将其发送到模型被坚持。接下来的活动将由其Presenter发送该数据,该数据将从模型中获取。

下图给出了一个更好的概述:

MVP Diagram

而不是开始它们在模型持续了下一个活动加载下一个活动时传递的细节作为软件包的一部分。

相关问题