問題タブ [android-navigation-graph]

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

android - 例外: ビューに navController が設定されていません

navController = Navigation.findNAvController(view) を使用すると、アクティビティのタグフラグメントでホストしたフラグメントで、アプリがエラーでクラッシュします:ビューには navController が設定されていません。

これは nav_graph です:

これはアクティビティのフラグメントタグです:

0 投票する
3 に答える
6040 参照

android - navGraphViewModels を使用して子 NavHostFragment のグラフ スコープの ViewModel にアクセスする

Android Jetpack (2.2.0-alpha01) のナビゲーション コンポーネントを使用しています。

独自の子 nav グラフを備えた、メインの NavHostFragment 内にネストされた子 NavHostFragment を使用したいと考えています。コンテキストについては、次の画像をご覧ください。

ここに画像の説明を入力

子ナビゲーション ホストは、MainNavHost のスタックの先頭にあるフラグメント内で次のように定義されます。

CHILD Nav Host Fragment の先頭にあるフラグメント内で、次のコードを使用して、R.navigation.child_graph をスコープとする ViewModel を取得しようとしています。

childGraphScopedViewModel にアクセスすると、クラッシュして次のエラー メッセージが表示されます。

怠惰な init 呼び出しby navGraphViewModel()は、mainGraph 内の navgraph を探していると思います。

子 navHostFragment スコープの ViewModel にアクセスするにはどうすればよいですか? お時間をいただきありがとうございます。

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

android - Nav コンポーネントのディープリンクは条件付きナビゲーションを行いません

ユニバーサル リンクからアプリ画面へのディープリンクに navcomponent ディープリンク オプションを使用しています。

ステップ 1: main_nav_graph ファイルにディープリンク パラメータを追加

ステップ 2: mainactivity のマニフェスト ファイルに追加

ステップ 3: SMS のリンクをクリックしてディープリンクを起動する

見られるシナリオ:

私のアプリでは SplashActivity が Main Launcher です。ただし、メイン アクティビティは navgraph が初期化される場所です。そこで、マニフェストのメイン アクティビティに navgraph タグを追加しました。

メイン アクティビティは、単一のタスクとして追加されます。

ディープリンクすると、次のように表示されます。

  1. 私のメインアクティビティは2回再開されます(アプリを起動して閉じてから再度起動し、画面にディープリンクするように見えます)

  2. ユーザーがログインしていない場合、ナビゲーション ルート ビューにとどまる条件チェックがあります。しかし、異常なシナリオを作成するディープリンク画面にまだ移動していることがわかります。

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

android - BottomNavigation を使用した NavController の宛先が不明

メイン メニュー クラスで BottomNavigation を使用して、メイン画面で Fragments を循環させています。これに関する奇妙な点は、NavController が 4 つのフラグメントのいずれかで目的地を見つけられないため、アプリがクラッシュすることです。MainMenuFragment は MainMenu (フラグメントと NavHostFragment を含むアクティビティ) と同じではありません。なぜこれが起こっているのですか?

NavGraph: http://prntscr.com/pcfufk

アクティビティ(MainMenu.java)画面http://prntscr.com/pcgcnv

MainMenu.java で:

MainMenu.java での onCreate:

NavGraph xml