如何使用MVP模式将数据从一个活动传递到另一个活动?

时间:2019-04-06 11:23:48

标签: android design-patterns android-mvp

我在Recyclerview中有一个MainActivity,其中的数据来自API。我想在点击某项后打开DetailsActivity

现在处于 MVP 模式中,如何将数据对象从MainActivity传递到DetailsActivity?我在Mainactivity中使用了 Interactor 处理数据部分。

2 个答案:

答案 0 :(得分:1)

在假设DetailsActivity应该显示具有id的“详细信息”的情况下,您可以将id通过Bundle传递到DetailsActivity并获取id的“详细信息”。

如果假设是错误的,则可以制作“详细信息” Parcelable,然后将其通过Bundle传递到DetailsActivity

通过使用这两种方法,可以确保通过Bundle传递的数据将“幸免”进程死亡,以防您的应用程序进程被后台系统杀死。也就是说,当导航回该应用时,Bundle将被“重新分发”到DetailsActivity

  

我可以通过 Intent 将数据直接传递到DetailActivity,但是 MVP 方法在这里如何?

MVP 中,视图( V )通常是特定于平台的,因此(在 Android 中)可以使用{ {1}}。

  

那意味着我可以直接将数据发送到Bundle吗?

是的,可能如下。 DetailActivity Presenter (P)通过{em> Intent 和“请求” Interactor 获得DetailsActivity,以获取详细信息存储库(或您使用的其他一些抽象数据)中的数据。

答案 1 :(得分:1)

我认为您应该在callback中使用adapter并将数据从adapter传递到

您的第一个activity然后使用activity将数据从第一个activity传递到第二个Parcelable

您可以使用Parcelable

[https://developer.android.com/reference/android/os/Parcelable