如何在MVP模式中连接适配器(Adapter)和Presenter?

6
在RecyclerView中,我有一个ViewHolder,其中包含VideoView和带有状态(选定或未选定)的按钮“Like”。
我的Presenter有一个方法,将在模型VideoEntity中更新“Like”状态。在回调中,我需要从Presenter更新View,因此我调用getView().updateItem(VideoEntity entity)。完成后,我应该找到recyclerView实体位置并使其无效。因此,我想避免这种情况。
在经典架构中,我可以从ViewHolder调用某些方法,在那里获取某些回调并更新更改的数据。
如何将此伪代码迁移到MVP模式?
@Override
public void onBindViewHolder(ContainerViewHolder holder, int position) {
    ...
    rx.subscribe(result -> holder.update(result));
}

@Override
public void onViewRecycled(ContainerViewHolder holder) {
    if (haveBackgroundRequests) { rx.unsubscribe(holder); }
}
1个回答

6

对于那些迫不及待的人 https://github.com/remind101/android-arch-sample/tree/master/app/src/main/java/com/remind101/archexample - P-RAD
你在哪里使用链接的 Github 资料请求你的视图持有者数据的网络请求? - Rafa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接