問題タブ [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.
android - 2 つのフラグメント間で通信しようとすると EventBus が機能しない
スライド タブ レイアウトのように設定されたビューページャーに 3 つのフラグメントがあります。あるフラグメントから別のフラグメントに文字列値を渡す必要があります。
最初に、ここでの回答のようにインターフェイスを設定しようとしましたが、フラグメント間 でデータを渡す方法が提案されていましたが、うまくいきませんでした。フラグメント A がメイン アクティビティに通知し、次にメイン アクティビティがフラグメント B に通知するという考え方です。
だから私は別の答えを探しました
http://android-er.blogspot.com/2012/06/communication-between-fragments-in.html
古いアクションバーの代わりにGoogleのslidingtablayoutを使用してビューページャーを設定したため、コードで同じ機能を使用できなかったため、有望に見えましたが機能しませんでした。
今、私はEventBusに出くわしました。そして、これが私の答えだと本当に思います。以下の両方の回答が示唆するように、コードに追加しました。何もクラッシュしませんが、何も機能しません。
私はlogcatでこれを見つけます:
D/Event: イベント クラス tk.abestudying.atob.TextChangedEvent にサブスクライバーが登録されていません D/Event: イベント クラス de.greenrobot.event.NoSubscriberEvent にサブスクライバーが登録されていません
これが私のコードです:リンクが削除されました
助けてください。私は何時間も解決策を試してきましたが、困惑しています。ありがとうございました。
編集:慎重にコードを書き直すことで機能しました。
android - ライブラリ CWAC CAM2 での撮影中に向きを変更するとクラッシュする
CommonsWare ライブラリを使用して nexus 5 Android 6 (ハンマー/ハンマー) でクラッシュしましたcwac:cam2
記録/写真撮影アクティビティの向きを変更したとき。バグは私のデバイスで体系的です。
スタックトレース :
サポートに感謝します。修正は非常に迅速に実装されます。
android - EventBus が新しいアクティビティにイベントを登録しない
オットーバスの例を実装しました。正常に動作しますが、アクティビティに 2 回目にアクセスしたときのみです。
たとえば、アプリを読み込んで秘密のメッセージ ボタンを押すと、アクティビティに移動しますが、トーストは表示されません。次に、[戻る] ボタンを押して MainActivity に戻り、[シークレット メッセージの表示] ボタンをもう一度押します。シークレット メッセージ アクティビティに移動すると、トーストが表示されます。イベントの登録を解除しないことでリークが発生したため、2 回目には機能することがわかりました。
ロジックについて私が見逃しているものはありますか?
主な活動:
秘密のメッセージ アクティビティ:
MakeMySecretMessageEvent:
イベントバス:
android - イベント バス インデックス
Green Robot Event Bus ライブラリのインデックスを追加する場所/時期:
ここで説明されているように?この onCreate() メソッドをランチャー アクティビティに配置しましたが、時々次のようになります。
どこが間違っていますか?どうもありがとう。
android - EventBus - サブスクライバ クラスとそのスーパー クラスには、@subscribe アノテーションを持つ public メソッドがありません
EventBus を使用して非同期ブロードキャストを他のクラスにポストする Android アプリケーションを作成していますが、実行中にエラーが発生します。
MainActivity.java
MapClass.java
LogCat には次のように表示されます。
なぜこうなった?私は何か間違ったことをしていますか?
android - Greenrobot の Eventbus : 非同期タスク ジョブを呼び出す 2 つの Fragments が Eventbus を混乱させた
私は現在、 withFragments
で作成されたものに取り組んでいます。GreenRobot の EventBus 3.0 を使用して、サービス クラスから作成した AsyncTask をいくつか返しました。ただし、これら 2 つのフラグメントは次々に作成されるため、イベントバスのポスト スティッキーが返されると、サブスクライブされたフラグメントが混同されます。私はstackoverflowを精査し、他の人が行ったことを行いました(たとえば、eventBusレジスタをonStartおよびOnStopに配置するなど)が、同様の問題さえ見当たりません。あなたが私を助けてくれることを願っています。ありがとう!Activities
FragmentPagerAdapter
これが私の2つのフラグメントです:(不要なコードの一部を省略しました)
1.ステータスフラグメント
2. ステータス サービス- ステータス フラグメントのサービス クラス
3. チャートフラグメント
4. 海図サービス
5.結果クラス
6.ステータスクラス
そのため、フラグメントが作成されるたびに、サービス クラスが呼び出され、サービス クラスがList<Status>
と をList<Results>
ほぼ次々にポストします。このため、それが言うところで混乱を引き起こしました
完全なスタック トレースは次のとおりです。
私のコードの何が問題なのか知っていますか? ありがとう。
android - RecyclerView RecyclerViewDataObserver が登録されていませんでした
RecyclerView
とgreenrobot eventbusを使用してSyncAdapter
います。同期が終了し
たら、メッセージ バスにメッセージを投稿します。SyncAdapter
私のターゲットクラスでは、次のことを行います。
そして、私init()
はrecyclerview用のアダプターを作成して設定します:
イベントを受け取るフラグメントは、タブ ビューの内部にあります。したがって、複数のタブがあり、もちろん、正しいターゲットタブにないときにメッセージバスにSyncAdapter
投稿することもありますが、登録されているため、アダプターを呼び出して作成し、に設定しようとします。その場合、次のエラーが発生します。EventMessagesRefreshed
init()
RecyclerView
したがって、アダプターが登録されている場合にのみinit()
、アダプターが必要です。RecyclerView
RecyclerViewDataObserver
どうやってやるの?