3
我想通过Bundle intent使用Parceler将Model数据传递到另一个活动。我的问题是我怎么能将数据从Presenter传递到视图层以显示在Android中使用MVP架构的另一个活动?使用MVP在android中传递bundle intent
我想通过Bundle intent使用Parceler将Model数据传递到另一个活动。我的问题是我怎么能将数据从Presenter传递到视图层以显示在Android中使用MVP架构的另一个活动?使用MVP在android中传递bundle intent
这当然是可能的。假设你的活动实现你的浏览界面,你就必须像接口的方法:
void startNextActivity(MyData data);
那么活动:
@Override
void startNextActivity(MyData data) {
// create bundle
// send intent
}
而在主持人:
view().startNextActivity(myData);
不过我不建议你这样做
我认为有很多经典应该在做MVP时谨慎使用Android模式。这包括诸如onActivityResult
&使用Bundle
在Activities/Fragments之间传递数据的事情。
保持事物尽可能分离和干净活动应避免与其他活动交谈,演示者不应与其他演示者交谈等。如果您需要从另一个活动中的一个活动访问数据,则将其发送到模型被坚持。接下来的活动将由其Presenter发送该数据,该数据将从模型中获取。
下图给出了一个更好的概述:
而不是开始它们在模型持续了下一个活动加载下一个活动时传递的细节作为软件包的一部分。