2017-01-31 8 views

答えて

9

これは確かに可能です。

@Override 
void startNextActivity(MyData data) { 

    // create bundle 
    // send intent 
} 

そしてプレゼンターで:

view().startNextActivity(myData); 

活動におけるその後

void startNextActivity(MyData data); 

:あなたの活動は、あなたのビューインタフェースを実装すると仮定すると、次のようなインタフェースのメソッドを持っていると思いますしかし、私はあなたがこれを行うことをお勧めしません

私は相当数の意見があります古典 MVPを行うときにAndroidパターンを控えめに使用する必要があります。これにはonActivityResult &のようなものが含まれ、アクティビティ/フラグメント間にデータを渡します(Bundleを使用)。

できるだけデカップリングしてきれいに保つアクティビティ、他のプレゼンターと話してはいけません。他のアクティビティのあるアクティビティからデータにアクセスする必要がある場合は、モデルに送信してください持続させる。次のアクティビティは、モデルから取得したPresenterによってこのデータが送信されます。むしろ、それらが負荷に次の活動のためにモデルに保持され、次のアクティビティを開始するときバンドルの一部として詳細を渡すより

MVP Diagram

次の図は、より良好な概観を与えます。

関連する問題