問題タブ [android-mvvm]
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-fragments - ViewModel を 2 つのフラグメントで共有する必要がありますか?
Android のベスト プラクティスに従い、最新の推奨アーキテクチャ コンポーネントを使用しようとしています。これまでの私の試みは、https ://github.com/randroid88/TodayILearned で確認できます。
現在、アプリの機能は非常に限られています。
- ジャーナルエントリをローカルに保存するための Room データベースがあります。
- すべてのエントリをリストする1 つのフラグメントHomeFragment 。
- 新しいエントリを作成する別のフラグメントEntryEditorFragment 。
- リポジトリ経由でデータを更新するViewModel、 EntryViewModel 。
問題は、現在 HomeFragment だけが EntryViewModel にアクセスできることです。
したがって、現在の設計では、新しいエントリ テキストを EntryEditorFragment から HomeFragment に引数バンドルを介して渡し (新しいナビゲーション アーキテクチャ コンポーネントのSafeArgsを使用)、次に HomeFragment が EntryViewModel を介して新しいエントリを作成します。
これは気分が悪い。
EntryViewModel にも EntryEditorFragment へのアクセス権があればもっと良いでしょうか?
これを達成するには、このブログで説明されているように、ViewModel のスコープをアクティビティに設定する必要がありますか?
ここでのベストプラクティスは何ですか?