問題タブ [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.
android - 例外: ビューに navController が設定されていません
navController = Navigation.findNAvController(view) を使用すると、アクティビティのタグフラグメントでホストしたフラグメントで、アプリがエラーでクラッシュします:ビューには navController が設定されていません。
これは nav_graph です:
これはアクティビティのフラグメントタグです:
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 にアクセスするにはどうすればよいですか? お時間をいただきありがとうございます。
android - Nav コンポーネントのディープリンクは条件付きナビゲーションを行いません
ユニバーサル リンクからアプリ画面へのディープリンクに navcomponent ディープリンク オプションを使用しています。
ステップ 1: main_nav_graph ファイルにディープリンク パラメータを追加
ステップ 2: mainactivity のマニフェスト ファイルに追加
ステップ 3: SMS のリンクをクリックしてディープリンクを起動する
見られるシナリオ:
私のアプリでは SplashActivity が Main Launcher です。ただし、メイン アクティビティは navgraph が初期化される場所です。そこで、マニフェストのメイン アクティビティに navgraph タグを追加しました。
メイン アクティビティは、単一のタスクとして追加されます。
ディープリンクすると、次のように表示されます。
私のメインアクティビティは2回再開されます(アプリを起動して閉じてから再度起動し、画面にディープリンクするように見えます)
ユーザーがログインしていない場合、ナビゲーション ルート ビューにとどまる条件チェックがあります。しかし、異常なシナリオを作成するディープリンク画面にまだ移動していることがわかります。
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