1. ホーム
  2. android

ナビゲーションアーキテクチャコンポーネント- startDestinationへの引数データの受け渡し

2023-11-09 22:18:03

質問

私は、いくつかの意図データをそれに渡す活動Bを開始する活動Aを持っています。アクティビティBは新しいナビゲーションアーキテクチャコンポーネントからナビゲーショングラフをホストします。私はその意図データを引数としてstartDestinationフラグメントに渡したいのですが、どうすればよいでしょうか?

どのように解決するのですか?

GoogleチームのIan Lakeのおかげで、この問題に対する解決策を見つけることができました。 アクティビティAがあり、アクティビティBをいくつかのインテント データで開始し、startDestinationでそのデータを取得したい場合、ここで2つのオプションがあります。

StartFragmentArgs.fromBundle(requireActivity().intent?.extras)

で、Intent から args を読み取ります。安全な引数を使用しない場合は、バンドルからデータを抽出することができます。 requireActivity().intent?.extras を使うと、フラグメントの代わりに使えるバンドルが返されます。 getArguments() メソッドの代わりに使用できます。これで試してみましたが、すべてうまくいきました。