0

オットさんに質問です。キックオフする実行可能なスレッドがあります。何らかの処理を行い、結果をバス上のイベントとして投稿します。

Runnable クラス内では、このクラスの getInstance を呼び出してバスを取得します。

public final class BusProvider {
    private static final Bus BUS = new Bus(ThreadEnforcer.MAIN);

    public static Bus getInstance() {
        return BUS;
    }

    private BusProvider() {
        // No instances.
    }
}

その後、Activity は同じメソッド BusProvider.getInstance() を使用してバスにアクセスし、イベントを登録します。ただし、 @Subscribe メソッドは呼び出されません。

@Subscribe
public void onGeoCodePosition(GeoCodePosition geoCodePosition) {
    .....
}

私の仮定は、バスを特定のスレッドに強制しているにもかかわらず、つまり. ThreadEnforcer.MAIN、ランナブルで新しいスレッドをスプールしているため、アクティビティ内で後でイベントを受信しない理由は、あるスレッドでの投稿とリッスンが別のスレッドで行われているため、機能しないためですか?

4

1 に答える 1