MVP、clientFactory、activities、places、およびuiBinderを使用するGWT 2.4アプリがあります。私は独自のui.xmlファイルを使ってスタンドアロンオブジェクトとして作成した複合ウィジェットを持っています。そのクラスを参照し、それをメインのviewImpl.ui.xmlファイルに挿入します。GWTの複合ウィジェットでプレゼンターを設定する方法
コンポジットウィジェットはバックエンドからデータを受け取り、アクティビティに戻してテーブルに表示できるようにする必要があります。私はアクティビティに行くためにビューに関連付けられているプレゼンターを使用しています。ここでは、コードです:ビューインタフェースで :
私の活動のpublic interface NameView extends IsWidget
{
void setPresenter(Presenter presenter);
...
public interface Presenter{
void goTo(Place place);
void setRowDataList(List<Data> rowData);
}
私はのようにView.Presenterを実装:
Activity extends AbstractActivity implements NameView.Presenter
ので活動は、私は私のスタンドアロンのウィジェットの中から必要なプレゼンターでありますセットアップに
NameView nameView = clientFactory.getNameView();//NameView is just an example.
nameView.setPresenter(this); ...
プレゼンターをし、それをインスタンス化しますし、活動の開始方法で私が使用しています。私の問題は、私はこれを必要とするウィジェットには、次のとおりです。
presenter.setRowDataList(rowData);
が、私は、ウィジェットからインスタンスプレゼンターを参照するかどうかはわかりませんか?
この個別のウィジェットは、実際にはgwtUploadウィジェットはスタンドアロンです。私はアップロードされたいくつかのデータのサーバー側の計算を行い、それがこのウィジェットに返されます。
ウィジェットデータをActivityに戻して、そのデータをNameViewImplクラスに戻す必要があります。
私はプレゼンターはそれを行うための適切な方法だと思ったが、ウィジェットがビューまたはviewImplに配線されていないので、私は、ウィジェットのためにそのプレゼンターを取得する方法が必要です。
私はジンがDIでそれをするだろうと知っているか、別の発表者を作っているかもしれません。私はGWTでGINをセットアップしたことはありません。これを行う正しい方法としての任意のアイデア?実装の作業
:
を、これが最良の実装であるかどうか、私は知らないが、トーマスからの回答に基づいて、私はプレゼンター(活動)のインスタンスに私のウィジェットを設定しますViewImplクラスのsetPresenter()メソッドウィジェットがアクティビティに戻るためのパススルーとして機能します。私はそれがトーマスがコールバックインターフェースとして意図したものだと考えています。私は右のあなたを理解していれば
多くのお返事をいただきありがとうございます。 –