Android Kotlin基礎講座 03.2: ナビゲーションパスを定義する

アイキャッチ画像 Android Kotlin基礎講座

目次

タスク:NavHostFragmentを作成する

ナビゲーションホストフラグメント(Navigation host fragment)はナビゲーショングラフ内のフラグメントのホストとしての役割を果たします。ナビゲーションホストフラグメントは通常、NavHostFragmentと名付けられます。

ユーザーがナビゲーショングラフに定義された行先間で移動するとき、ナビゲーションホストフラグメントが必要に応じてフラグメントを入れ替えます。また、ナビゲーションホストフラグメントには適切なフラグメントのバックスタックを作成し、管理する役割もあります。

このタスクでは、TitleFragmentをNavHostFragmentにするようにコードを修正していきます。

  1. res > layout > activity_main.xmlを開いて、Textタブにしてください。

  2. activity_main.xmlファイル内のTitleFragmentの名前をandroidx.navigation.fragment.avHostFragmentに変更してください。
  3. IDをmyNavHostFragmentに変更してください。
  4. ナビゲーションホストフラグメントはどのナビゲーショングラフリソースを使うのか知っている必要があります。そのために、app:navGraph属性を追加し、ナビゲーショングラフリソースである@navigation/navigationを値にセットしてください。
  5. app:defaultNavHost属性を追加し、値を”true”にしてください。これでナビゲーションホストがでデフォルトホストとなり、システムの戻るボタンを遮断します。

activity_main.xmlレイアウトファイルのfragmentのコードは以下のようになります。

<!-- The NavHostFragment within the activity_main layout -->
            <fragment
                android:id="@+id/myNavHostFragment"
                android:name="androidx.navigation.fragment.NavHostFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:navGraph="@navigation/navigation"
                app:defaultNavHost="true" />

コメント

プロフィール

プロフィール
コードラボJP

大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで

コードラボJPをフォローする
タイトルとURLをコピーしました