我在Recyclerview
中有一个MainActivity
,其中的数据来自API。我想在点击某项后打开DetailsActivity
。
现在处于 MVP 模式中,如何将数据对象从MainActivity
传递到DetailsActivity
?我在Mainactivity
中使用了 Interactor 处理数据部分。
答案 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