4

新しい GWT archetypeで構築されたプロジェクトを開始しました。

ActivityMapper は次のようになります。

public interface Factory {
    HomeActivity homeActivity();

    GreetingActivity greetingActivity(String user);
}

private final Factory factory;

@Inject
MainActivityMapper(Factory factory) {
    this.factory = factory;
}

@Override
public Activity getActivity(Place place) {
    if (place instanceof HomePlace) {
        return factory.homeActivity();
    }
    if (place instanceof GreetingPlace) {
        GreetingPlace greetingPlace = (GreetingPlace) place;
        return factory.greetingActivity(greetingPlace.getUser());
    }
    logger.severe("Unhandled place type: " + place.getClass().getName());
    return null;
}

この例に基づいて AsyncProvider でコード分割を実装しようとしていますが、うまくいきません。

ActivityAsyncProxy を使用する場合、どうすればよいですか? getActivity(Place place) から ActivityAsyncProxy を返しますか? しかし、工場からActivityAsyncProxyを作成するにはどうすればよいですか?

アクティビティ マッパーをコード分割でうまく機能させるにはどうすればよいでしょうか?

4

1 に答える 1

3

AFAICT、アシスト注入では使用できませんAsyncProvider(GINへの素晴らしい追加になります)。つまり、生成された呼び出しの恩恵を受けることはできずrunAsync、自分で行う必要があります。

この問題の議論についてはhttp://code.google.com/p/google-web-toolkit/issues/detail?id=5129をご覧ください。いくつかの提案があります。

私自身の見解については、 https ://groups.google.com/d/msg/google-web-toolkit-contributors/bUFYWEFskBI/ja2aJ0tBgdwJ もご覧ください ( https://gist.github.com/でも入手可能) 。 3038878)。

于 2012-07-03T10:05:13.177 に答える