LifeCycleObServer - オブザーバーが他の所有者を持っているかどうかを確認してください -- android フィールド と illegalargumentexception フィールド と android-livedata フィールド 関連 問題

LifecycleObserver - Check if observer has another owner












3
vote

問題

日本語

私は私がオブザーバをコンストラクタに添付したクラスを持っています:

<事前> <コード> public class BIBOStateMgr implements LifecycleObserver { public BIBOStateMgr (LifecycleOwner lifecycleOwner) { lifecycleOwner.getLifecycle().addObserver(this); } }

問題は私がgetとIllegalgumentExceptionということです。私はこのクラッシュについてチェックしました、そして、「オブザーバーがすでに別の所有者とリストにある場合、LiveDataはIllegalArgumentExceptionをスローする」と思いました。

このコンストラクタを一度だけ呼び出します。 このオブザーバーに別の所有者がいるかどうかを確認できますか?それをチェックする方法はありますか?たぶんそれはもう一つの理由ですか?

これはクラッシュです:

<事前> <コード> Fatal Exception: java.lang.IllegalArgumentException at android.arch.lifecycle.LifecycleRegistry.downEvent(LifecycleRegistry.java:255) at android.arch.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.java:306) at android.arch.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:327) at android.arch.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:188) at co.hopon.bibosdk.core.BIBOStateMgr.<init>(BIBOStateMgr.java:111) at co.hopon.bibosdk.BIBOService$1.run(BIBOService.java:206) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:172) at android.os.HandlerThread.run(HandlerThread.java:65)
英語

I have a class which I attached an observer to in the constructor:

public class BIBOStateMgr implements LifecycleObserver {       public BIBOStateMgr (LifecycleOwner lifecycleOwner) {             lifecycleOwner.getLifecycle().addObserver(this);     } } 

The problem is that I get and IllegalArgumentException. I checked about this crash and I saw that "If the observer is already in the list with another owner, LiveData throws an IllegalArgumentException."

I call this constructor only once. How can I check if this observer has another owner? Is there a way to check it? Maybe it's another reason?

This is the crash:

Fatal Exception: java.lang.IllegalArgumentException        at android.arch.lifecycle.LifecycleRegistry.downEvent(LifecycleRegistry.java:255)        at android.arch.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.java:306)        at android.arch.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:327)        at android.arch.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:188)        at co.hopon.bibosdk.core.BIBOStateMgr.<init>(BIBOStateMgr.java:111)        at co.hopon.bibosdk.BIBOService$1.run(BIBOService.java:206)        at android.os.Handler.handleCallback(Handler.java:790)        at android.os.Handler.dispatchMessage(Handler.java:99)        at android.os.Looper.loop(Looper.java:172)        at android.os.HandlerThread.run(HandlerThread.java:65) 
</div
        
         
         

回答リスト


関連する質問

0  DBの変更時にUIは更新されません  ( Ui is not updated when db changes ) 
もともと有名な記事に基づいているAndroidアーキテクチャコンポーネントを使用してアプリケーションを書いていますが、それは現在時代遅れで正確ではなく、他の文書、記事やビデオに基づいて、最新のコンポーネントを使用して何かを構築します。非常に少ないコードで非常に...

0  Android MVVMリポジトリとViewModelの質問  ( Android mvvm repository and viewmodel question ) 
私は私のMVVMパターンを始動しました。そして私がログインをするとき、私はいくつかの問題があります。これが私のコードです。 1。ログインサービス <コード> public interface LoginService { @FormUrlEnc...

3  Androidの部屋でSingleLeeliveEventを使用することは可能ですか?  ( Is it possible to use singleliveevent with room in android ) 
私は <コード> SingleLiveEvent 。客室データベースで使用することは可能ですか?私はそれを使ってみて、 Not sure how to convert a Cursor to this method's return type というビルドエ...

2  フラグメントとアクティビティでLiveDataインスタンスを守ってください  ( Observe livedata instance in fragment and activity ) 
私は私がフラグメントで何かをしているシンプルなシナリオを持っていて、私が活動の中で何かをしたいです。 ViewModel: <コード> class MyViewModel(application: Application) : AndroidViewMod...

0  アイテムをクリックした後に閉じるときは、引き出しラレイに非常に遅れます。レルムを引き起こす?  ( Drawerlayout very laggy when closing after clicking item cause realm ) 
私のNavigationViewでアイテムを押すと、getupportfmとロードフラグメントを呼び出します。フラグメントでは、ViewModelとコンストラクターを添付してから、この時点でデータをロードし、この時点でメソッド .doOnNext はレルムデー...

-1  LiveDataでDatalistを遵守したときにサービスRecyclerviewを通してAPIを呼び出す  ( On calling api through a service recyclerview glitches when i observe datalist w ) 
私はリアルタイムでデータを表示する必要があります。だから私はサービスを作成し、タイマーを追加しました。私は1分ごとにREST APIを打ち、Room-BBにデータを保存しています。 問題:私のアダプタが呼び出されたときに1分ごとにリセットされ、私のRecycl...

5  AndroidのWorkManagerによって作成されたWorkStatusをクリアする方法は?  ( How to clear the workstatus create by workmanager in android ) 
Android-Arch Work Workmanagerを使用すると、<コード> OneTimeWorkRequest を作成します。 こののようにオブザーバーで WorkStatus を視聴できます。 <事前> <コード> final WorkMan...

0  複数の非同期リソースを持つオブザーバーLiveData  ( Observer livedata that have multiple async resources ) 
複数のデータソースを同じ LiveData に更新し、ビューで観察した場合にどのように処理できますか? 最後のボタンからの結果を最後にクリックした場合、ネットワーク呼び出しに待ち時間があり、ビューに更新される最終結果が最初のものからなる可能性があります。 ボ...

20  MutableLivedataはJUNITESTにNULLです  ( Mutablelivedata is null in junittest ) 
単体テストを書きたい。したがって、MutableLiveDataが必要です。私はセットアップのための非常に基本的なテストを始めましたが、MutableVeDataオブジェクトをインスタンス化することはできません。テストを実行すると、私は常にnullです。私は何...

3  LiveData + Retrofitを使用して30分間のデータをキャッシュする方法  ( How to cache data during 30 minutes using livedata retrofit ) 
LiveDataを使用するためのAndroidガイドを続けています: https://developer.android.com / Jetpack / Docs / Guide 、私は電話をかけてオブジェクトのリストを返すことができますが、私はそのオブジェ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有