2016-08-09 4 views
3

RecyclerViewには、VideoViewを持つViewHolderと、状態(選択されているかどうか)の「好き」のボタンがあります。アダプタをPresenterとMVPで接続する方法は?

My Presenterには、Model - VideoEntityの "Like"ステータスを更新するメソッドがあります。 コールバックでは、ViewフォームPresenterを更新する必要があるため、getView()。updateItem(VideoEntityエンティティ)を呼び出します。 その後、私は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); } 
} 

答えて

3

1つのviewHolderのプレゼンター1人。 解決策が見つかりました:https://github.com/remind101/android-arch-sample

+0

待つことができない方https://github.com/remind101/android-arch-sample/tree/master/app/src/main/java/com/remind101/archexample –

+0

リンクされたgithubプロファイルを使用して、ビジターデータのネットワーク要求をどこで行っていますか? – Rafa

関連する問題