問題タブ [mutablelivedata]

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 に答える
249 参照

android - MutableLiveData は機能しませんが、ObservableField は機能します - なぜですか?

私はXMLで非常に単純なコードを持っています:

の値に関係なく、編集は常に有効にviewModel.inputEnabledなります。ただし、すぐに機能するように変更するだけで済みます。MutableLiveData<Boolean>inputEnabledinputEnabledObservableField<Boolean>setValueset

どうしてこんなことに?どうすればMutableLiveData正しく動作させることができますか?

このフィールドは 3 つの場所で使用されることに注意してください (処理中にフォームを有効/無効にするため)。

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

android - テスト LiveData で onChange の結果が「false」になる理由

これは、stackoverflow に関する最初の投稿であり、kotlin、Lifecycle の初心者であり、サポートが必要です。私はそれで2日を失い、助けが必要です.

SplashViewModel クラスがあります

SplashViewModelTest クラス

このテスト結果を実行するとエラーになります

引数が異なります! 募集:observer.onChanged(true); -> com.example.kotlinmvvm.feature.splash.viewModel.SplashViewModelTest.should で、getIsLoggedLiveData が呼び出されたときに構成ユーザーのログイン ステータスを確認する必要があります (SplashViewModelTest.kt:85)

実際の呼び出しにはさまざまな引数があります。observer.onChanged(false); -> androidx.lifecycle.LiveData.considerNotify(LiveData.java:113) で

比較失敗:

期待:observer.onChanged(true);

実際:observer.onChanged(false);

何が起こっているのか誰が知っていますか?