問題タブ [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.

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

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 のスコープをアクティビティに設定する必要がありますか?

ここでのベストプラクティスは何ですか?