2011-12-15 5 views
0

Mvp4gアーキテクチャでは、(@Presenterアノテーションを使用して注入された)ビューの1つのインスタンスが、そのプレゼンタに関連付けられます。 私の場合、Presenter EntityPresenterを持つEntityViewがあります。 ユーザがナビゲータツリーのリーフノードをクリックするたびに TabSetに新しいタブを追加します。この新しいTabにはEntityViewが含まれます。 したがって、TabSeTにはTabの数だけEntityViewを配置します。eventBus.addHandlerを使用して、how(multiple = true)プレゼンターとビューをパラメーターで初期化できますか?

EntityPresenterにmultiple=trueを設定しました。 EntityViewのコンストラクタは1つの引数を受け入れます。

@Inject 
public EntityView(final Record view) { 
    //some initialization 
} 

私は(別のプレゼンターから)行う場所の質問は、次のとおりです。

EntityPresenter presenter = eventBus.addHandler(EntityPresenter.class); 

私はそれを行うにはどのように私はEntityViewのコンストラクタに渡したい1つの引数Record paramsを、持っていますか? @Injectでコンストラクタ(引数を受け付ける)に注釈を付けるとEntityViewがEntityPresenterに挿入されますか?

+0

を使用しているとき、あなたは、自分でプレゼンターインスタンスを管理する必要があり、ここでhttp://groups.google.com/group/mvp4g/browse_thread/thread/71efe128ec7c9ec3?pli=1いくつかの手掛かりを持っています – Shanta

答えて

0

EventHandlerを使用することをお勧めします。これは、イベントshowEntity(long key)を取得するmvp4gのビューがないプレゼンターです。 onShowEntity(...)で - あなたは声明でプレゼンターを作成することができます方法:

EntityPresenter presenter = eventBus.addHandler(EntityPresenter.class); 

インスタンスのそれを参照すると、あなたはesalyプレゼンターにキーを設定することができます。 しかし、心に留めておくmultiple=true.