問題タブ [greenrobot-eventbus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
10133 参照

android - EventBus メインスレッド上にない

WS から位置を取得し、GoogleMap フラグメントのマーカーを更新しようとしているので、私がやっていることは次のとおりです。

私は 2 つのフラグメント (TileOverlay を持つ 2 つの GoogleMaps) を含む HomeActivity を持っています。

私の GoogleMap フラグメントでは、マーカーの位置を OnCameraChangeListener から取得しようとしているので、ユーザーが移動するとマーカーが追加されます。

非同期リクエストに EventBus と Okhttp を使用しています。

私のGoogleMapFragment:

この後、APIManager で WS Request を実行します。

}

私は Not on the mainThread エラーに精通していますが、フラグメントの新しいインスタンスを実行せずにマーカーを追加する方法がなければ、理論的には可能です。

0 投票する
4 に答える
11231 参照

android - イベントバスに登録/登録解除するのに最適なアクティビティライフサイクルメソッドはどれですか?

アクティビティでイベント バス (otto、EventBus、tinybus など)を登録および登録解除するのに最適な場所とその理由は?

  1. onCreate()-onDestroy()
  2. onStart()-onStop()
  3. onResume()-onPause()

Otto の例では onResume()-onPause() を使用し、EventBus では onStart()-onStop() に言及しています。アプリで onCreate()-onDestroy() を使用して、アクティビティがバックグラウンドにある場合でもアクティビティの UI を更新する必要がありました。ですから、イベントの性質とその処理に応じて、3 つのいずれかになる可能性があると思いますが、それ以上に考慮すべきことがあるのだろうかと考えていました。

0 投票する
1 に答える
417 参照

android - クラス階層ですべての「onEvent」メソッドを呼び出さないようにする方法

クラス階層チェーン内のすべてのメソッドを呼び出すのを防ぐのに苦労しています。基本クラスがあるとしましょう:

次に、2 つの異なるイベントを投稿します。


アクティビティのどこか:


この場合、両方の onEvent メソッドが実行されます。それを防ぎ、メッセージを正確な方法に投稿するにはどうすればよいですか?

0 投票する
1 に答える
772 参照

android - アプリを閉じた後もスティッキー イベントが残るようにする GreenRobot Eventbus

GreenRobot - EventBusStickyEventsから使用すると、アプリを閉じた後 (実行中のアプリを表示し、スライドしてそこから削除する)、または から新しいビルドを実行した後、それらはメモリに残りません。Android Studio

つまりonEventMainThread、後に呼び出されませんEventBus.getDefault().registerSticky(subscriber);

なんで?

0 投票する
3 に答える
7262 参照

android - Android イベント バスが 2 つのイベント リスナーで機能しない

私の Android アプリケーションでは、リスト ビューにアクティビティとアダプターを使用しました。取得では、EventBus を使用してイベント リスナーを介してアダプター クラスとアクティビティの両方を通信する必要があるため、2 つのイベント リスナー クラスを作成しました。

私のプロセスは次のとおりです。

1)アクティビティにボタンがあり、ボタンはアダプタクラスと通信する必要があります。

2)テキストビュー(リストビューのテキストビューウィジェット)をクリックすると、アクティビティクラスと通信する必要があります。

次のコードでは、アダプタはアクティビティと通信しますが、アクティビティはアダプタ クラスと通信しません。両方のクラスで通信する方法を教えてください。

完全なサンプル プロジェクト コードを投稿しました。

活動クラス:

アダプタ クラス: