私は、あるデータ( "DataClass")を取得するために別のクラスのサービスを必要とするアクティビティを持っています。このデータクラスは、データを取得するために呼び出すことができ、成功するとイベントを発生させます。 アクティビティが最初に必要なのは、現在の場所によってもたらされた状態を解決し、それに応じてビューを更新するために、データが「開始」にあることです。アクティビティ開始メソッドが最初のイベントを逃す
問題は、アクティビティのonDataEventメソッドが初めて呼び出されるのではなく、その後のイベントで呼び出されることです。私はイベントのハンドラをチェックした。最初のイベントが発生すると、アクティビティはこのイベントに登録されます。私もコンストラクタwithingイベントを登録しようとしましたが、これは何も変更されません。 イベントのアクティビティを登録し、開始メソッド内でトリガして反応させるにはどうすればよいですか?あるいは、そのようなユースケースを一般的に実装する方法。
編集 私はhereのように実装しようとしましたが、成功しませんでした。ここ
は、startメソッドのコードです:
@Override
public final void start(final AcceptsOneWidget panel, final com.google.gwt.event.shared.EventBus eventBus) {
this.eb = new ResettableEventBus(eventBus);
if (!(pc.getWhere() instanceof DynamicTablePlace)) {
throw new IllegalStateException(CreateDynamicTableActivity.class.getName() + " should only be called on "
+ DynamicTablePlace.class.getName());
}
view.setPresenter(this);
this.eb.addHandler(DynamicTableHashResolvedEvent.TYPE, this);
stateResolver.resolveState(((DynamicTablePlace) pc.getWhere()).getTablehash(), eb); //this is triggering the event
panel.setWidget(view);
}
onDynamicTableHashResolved(DynamicTableHashResolvedEventイベント)メソッドが最初に呼ばれたが、後続のすべてのイベントにされていません。
「こちら」はご記入ください。 [SSCCE](http://sscce.org)を含めてください。 –
あなたの質問を正しく理解していれば、アクティビティの初期化時にのみ実行する必要があるコードがありますか? – yair
アクティビティのソースを添付してください。 – cardamo