問題タブ [dynamic-feature-module]

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 投票する
0 に答える
118 参照

android - DynamicFeatureModules を使用している場合、フラグメントで ContributesAndroidInjector を使用できない

サブコンポーネントを作成する代わりに ContributesAndroidInjctor を使用してフラグメントの依存関係を注入しようとしましたが、例外がスローされます。

java.lang.IllegalArgumentException: No injector factory bound for Class<LoginFragment>

これが私がやろうとしていることです、

成分:

モジュール:

断片:

LoginFeatureImpl:

そして私のアクティビティは基本的にLoginFeatureImplで inject メソッドを呼び出します:

この問題に関するヘルプをいただければ幸いです。

編集: ContributesAndroidInjector に依存する代わりにサブコンポーネントを手動で作成し、DaggerFragment() から拡張する代わりに HasAndroidInjector を実装するフラグメントで inject を呼び出すと機能します。しかし、ContributesAndroidInjector を使用し、追加するすべてのフラグメントのサブコンポーネントを手動で作成しないソリューションをまだ探しています。

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

android - 2 番目のナビゲーション グラフで動的に読み込まれたモジュールを使用して、Android で下部ナビゲーションを実行する方法

現在動作しているアプリの動的機能モジュールでナビゲーション コンポーネントを使用しようとしています。最近、ようこそ画面とホーム画面の間のナビゲーションをロードするためのメイン ナビゲーション グラフを構成しました。

(メイン ナビゲーション グラフで定義されているように) ホーム画面をレンダリングすると、動的機能モジュールのフラグメントは次のようになります。動的にBottomNavigationView を使用してレイアウトにロードおよび表示されますが、含まれるナビゲーション グラフとして、含まれるナビゲーション グラフ内の宛先/アクションは実行されず、HomeFragment の NavController で認識されません。

私の質問は次のとおりです。インストール時にアプリに含まれるモジュールのナビゲーション フローを確保するために、動的機能モジュール ナビゲーション グラフをホーム画面に正常にロードするにはどうすればよいですか?

「含まれるモジュールのナビゲーション フローを確保する」と言うとき、含まれるナビゲーション グラフとその目的地は、単一のナビゲーション グラフを使用する場合と同様に、通常のナビゲーション セットアップと同じように機能する必要があるという事実を指しています。

たとえば、ホーム画面の下部ナビゲーションで Tab01 を選択すると、ニュース フィードに関する情報のリストが表示され、ニュース アイテムをクリックすると、ニュース コンテンツ フラグメント画面に移動します。

このシナリオでは、次のエラーが表示されます。

ナビゲーションに次の依存関係を使用しています。


コードはホーム画面/フラグメントに注意します:

  1. <include-dynamic... />タグを使用して動的機能モジュールをロードする 2 つ目のナビゲーション グラフを追加しました。

[nav_graph_home.xml]

  1. ホーム フラグメントのレイアウトで BottomNavigationView ウィジェットのメニュー xml ファイルを構成し、後でレイアウトに app:menu とグラフ参照を FragmentContainerView に追加しました。

[fragment_home.xml]

  1. HomeFragment クラス内で、2 番目のナビゲーション グラフを使用して、BottomNavigationView のナビゲーション フローをセットアップしました。

[ホームフラグメント.kt]