問題タブ [greenrobot-eventbus-3.0]

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 投票する
1 に答える
1539 参照

android - greenrobotイベントバスを使用してアクティビティからサービスにイベントを送信するには?

単純な EventBus.getDefault().post() は、メイン スレッドではなく例外をもたらします。greenrobotイベントバスを使用してアクティビティからサービスにイベントを送信するには?

サービスクラス

greenrobot イベントバスを使って送信することはできますか?

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

android - Greenrobot の Eventbus : 非同期タスク ジョブを呼び出す 2 つの Fragments が Eventbus を混乱させた

私は現在、 withFragmentsで作成されたものに取り組んでいます。GreenRobot の EventBus 3.0 を使用して、サービス クラスから作成した AsyncTask をいくつか返しました。ただし、これら 2 つのフラグメントは次々に作成されるため、イベントバスのポスト スティッキーが返されると、サブスクライブされたフラグメントが混同されます。私はstackoverflowを精査し、他の人が行ったことを行いました(たとえば、eventBusレジスタをonStartおよびOnStopに配置するなど)が、同様の問題さえ見当たりません。あなたが私を助けてくれることを願っています。ありがとう!ActivitiesFragmentPagerAdapter

これが私の2つのフラグメントです:(不要なコードの一部を省略しました)

1.ステータスフラグメント

2. ステータス サービス- ステータス フラグメントのサービス クラス

3. チャートフラグメント

4. 海図サービス

5.結果クラス

6.ステータスクラス

そのため、フラグメントが作成されるたびに、サービス クラスが呼び出され、サービス クラスがList<Status>と をList<Results>ほぼ次々にポストします。このため、それが言うところで混乱を引き起こしました

完全なスタック トレースは次のとおりです。

私のコードの何が問題なのか知っていますか? ありがとう。

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

android - Android イベント バス: ポストを待たずにイベントが発生する

クリックするとカスタム サービス クラスを開始するボタンがアプリにあります。次に、もう一度クリックすると、サービスが停止し、進行状況ダイアログが表示されます。

そのonClickボタンの は次のようになります。

onDestroy私のサービスのメソッド内で、いくつかのことをチェックしています。チェックに合格したら、イベント バスを使用してメッセージをフラグメントに送り返し、進行状況ダイアログを閉じることができます。

DismissDialogEventのクラスはここにあります:

そして、私のフラグメントでは、これを行っています:

ボタンが 2 回目にクリックされると、進行状況ダイアログが表示され、サービスがいくつかのことを確認してから、破棄メッセージをフラグメントに送り返します。フラグメントはメッセージを受け取り、進行状況ダイアログを閉じます

問題は、進行状況ダイアログが(作成されるとすぐに)すぐに閉じられるように見えるため、まったく表示されないことです。ダイアログを閉じる前に、dismiss イベントを待機していないようです。dialog.dismiss()行をコメントアウトすることで、ダイアログが表示されることを確認できます

これを引き起こすコードのどこが間違っているのでしょうか?

0 投票する
6 に答える
15982 参照

android - シンプルな EventBus - サブスクライバーが登録されていません

Android用EventBus Libraryの絶対基本実装を実装しようとしています。

ユーザーによる入力コンテンツを単純化しようとしているものとactivity 1、インテント エクストラの代わりに、イベントバスを使用してオブジェクト全体を次のアクティビティに投稿していますactivity 2。私は与えられたガイドラインに正確に従っています:

パート 1: ポジョ

パート 2: 2 番目のアクティビティでのサブスクリプション

パート 3: イベントを投稿する

エラーが表示されます:

何が足りないの?
同じクラスでサブスクリプションを作成すると機能します。

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

android - バックグラウンド サービスから投稿されたイベントのサブスクライバーがありません

EventBus.getDefault().post(new SendPlayer(player));非メインスレッドで実行されているサービスから投稿します。

私は自分のフラグメントでも受け取ることを期待しています:

ただし、次のメッセージが表示されます
D/EventBus: No subscribers registered for event class yarh.com.tryexo.player.SendPlayer

を削除した場合にのみ、イベントが配信されandroid:process=":player"ます。

これはバグですか、それともバックグラウンド スレッドとメイン スレッドの間でイベントをポストするフローを誤解していましたか?

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

java - サブスクライバー インデックスを使用した後も、GreenRobot EventBus、ClassNotFoundException が存在する

4.4.2 デバイスで EventBusに共通の「ClassNotFoundException」の 問題があります。FAQでトラブルシューティングされています。

最初に、不適切なライフサイクル メソッドを使用していないことを再確認しましたが、使用しませんでした。その後、EventBus 3.0.0 にアップデートし、「購読者インデックス」を使用しました。しかし、バグはまだここにあり、ビルダーが再帰性を使用しようとしていることがスタックトレースで確認できます ( findUsingReflectionInSingleClass):

Player Activity



MyEventBusIndex利用できるので、ビルドファイルは問題ないと思います。

何が問題なのかわかりましたらお知らせください。

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

java - 署名済み apk のイベントバス エラー

いくつかのイベントを投稿していますが、サブスクライブしたコードはデバッグ apk で正しく動作しますが、キーストアで apk に署名してアプリをインストールすると、同じコードがクラッシュします。

しかし、私の主なアクティビティには @Subscribe が定義されたサブスクライバーがあります

アクティビティにこのサブスクライバーがいます

そして、私はこのように登録および登録解除しています

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

android - Greenrobot EventBus スティッキー イベントの順序は保証されますか?

EventBus 3.0.0を使い始めています。

サービスからアクティビティに送信される 3 つのスティッキー イベントがあります。

  1. 行動開始
  2. アクションの進行
  3. アクション終了

私はメインスレッドでイベントを聞いています:

サービスはイベントを順番に送信しますstarted-progressN-..-progressM-finished。サブスクライブされたアクティビティは、イベントに従って UI を更新します。

アクティビティがローテーションされた後、送信された順序でスティッキー イベントを取得することを期待しています。それ以外の場合は、UI が壊れます (開始すると進行状況が 0 に設定されるため)。イベントの順序は EventBus によって保証されていますか (これらすべてのイベントに対して同じ EventBus、同じ受信者スレッド、同じサブスクライバーを使用していると仮定します)?

私のテストによると、それは保証されておらず、それは機能/問題ですよね?

回転前:

ローテーション後 (スティッキー イベントの再送信):