問題タブ [kotlin-stateflow]
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 - 新しい値が最後の値と同じ場合、StateFlow は出力されません
ログインフォームがあります。私は(APIを呼び出した後)からにStateFlow
送信するために使用します。アクティビティでは、ログインに失敗した場合にエラー ダイアログを表示します。
最初はうまくいきますが、ログインに失敗した 2 回目から、エラー ダイアログが再び表示されなくなります。私は両方をテストしましたLoginResult
ViewModel
Activity
.value
.emit
StateFlow
android - Android - kotlin フローから値を読み取る方法は?
部屋のデータベースからエピソードの流れがあります。この流れはライブデータとして問題なく観測できます。
しかし、ユーザーがボタンをクリックしたときに、このフローから最後の値を読み取りたいとも考えています。first() ターミナル フロー演算子を試しましたが、コンパイルされません。何か他のことを手伝ったり提案したりできますか?
フローから読み取ろうとする非コンパイル試行:
このフローは ROOM からのものです。
リポジトリ:
ビュー モデル - Id は StateFlow から取得されます。
コンパイル エラー:
「回避策」として、エピソードを次のようなインスタンス変数に保存しましたが、可能であればそれを避けたいと思います:
=================== 更新/解決策 21/01/15 ==================
stateIn を使用した beigirad (以下の彼の投稿を参照) に触発されたソリューション: