0

Otto のコード例に従って、イベントが生成されると、プロデューサー関数からイベント クラスが返されます。

@Produce public AnswerAvailableEvent produceAnswer() {
    // Assuming 'lastAnswer' exists.
    return new AnswerAvailableEvent(this.lastAnswer);
}

ただし、AnswerAvailableEventどこにも定義されていないようです。ドキュメントで言及されている他の唯一の時間は、イベントが投稿されたときです

bus.post(new AnswerAvailableEvent(42));

そして、イベントが受信されたとき:

@Subscribe public void answerAvailable(AnswerAvailableEvent event) { ... }

このクラスは何らかの形で自動的に定義されていますか? クラスはどのようにしてthis.lastAnswerパラメーターをどうするかを知っていますか?

ありがとう。

4

1 に答える 1

1

このクラスは何らかの形で自動的に定義されていますか?

いいえ、それはあなたが書き、好きな名前を付け、必要なイベントデータを保持するものです。

クラスは this.lastAnswer パラメーターをどうするかをどのように知っていますか?

それはコンストラクターのパラメーターです。イベント クラスを作成するときは、意味のある任意のコンストラクターを実装できます。

于 2015-03-24T19:31:04.833 に答える