問題タブ [android-viewmodel]

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

android - Android の RecyclerViewAdapter や ListAdapter などのアダプタと ViewModel (アーキテクチャ コンポーネント) の違いは何ですか?

私はまだ Android プログラミングを学んでおり、ViewModel の概念を理解しようとしています。ビュー モデル (ほぼすべてのビューモデル チュートリアル) の背後にある主な動機は、データをライフサイクル イベントにとらわれないようにすることです。新しく作成されたアクティビティで作成されたビューで同じアダプターが使用されるため、ListView または Recyclers で使用されるアダプターもこの機能を提供することがわかりました。両方の正確な違いは何ですか?

私の現在の理解によると、ViewModel は Activity 内のすべてのビューに対してライフサイクルに依存しないデータを持つ機能を提供しますが、Adapter (同じものを提供できますが) は特定のビューでのみ機能します。私の理解は正しいですか?

0 投票する
4 に答える
12460 参照

android - 親フラグメントと子フラグメントの両方に ViewModel の同じインスタンスを与える方法

フラグメントには、ParentFragment と ChildFragment の 2 つがあります。 ChildFragmentのビューに が追加されましたParentFragment

現在Dagger2Android で使用してParentFragmentModuleいるメソッドには次のものがあります。

MyViewModelFactory、MyViewModel、MyViewModelImpl は、アプリで作成された単純な ViewModel ロジックです。

ChildFragmentModule には次のメソッドがあります。

ViewModelこれは、 2 つの異なるフラグメント インスタンスを受け取るため、明らかに の 2 つの別個のインスタンスを作成しています。

親フラグメントと子フラグメントの両方でデータを共有できるように、同じインスタンスを返すにはどうすればよいでしょうか?

ParentFragmentの代わりにを渡そうとChildFragmentしましたChildFragmentModuleが、それは Dagger 依存性注入エラーにつながります。