[![Android Studio version](https://img.shields.io/endpoint?url=https%3A%2F%2Fsicampus.ru%2Fgitea%2Fcore%2Fdocs%2Fraw%2Fbranch%2Fmain%2Fandroid-studio-label.json)](https://sicampus.ru/gitea/core/docs/src/branch/main/how-upload-project.md) # Практическая работа. Курс Kotlin. Практическая 3.8 Данная практическая работа направлена на реализацию переходов между фрагментами ## Дополнение XML разметки Первым делом необходимо дополнить разметку XML для корректного использования ссылок внутри Kotlin кода. Необходимые места для заполнения представлены ниже. Реализовать фрагмент для навигации внутри файла *activity_main.xml*. Фрагмент должен растягиваться по родительскому объекту, иметь уникальный идентификатор `@+id/nav_host_fragment` и обозначить параметр navGraph равный `nav_graph` ```xml <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <!-- TODO: Реализовать здесь --> </androidx.constraintlayout.widget.ConstraintLayout> ``` Создать переход из третьего фрагмента в первый с уникальным идентификатором `@+id/action_thirdFragment_to_firstFragment` внутри файла *nav_graph.xml* ```xml ... <fragment android:id="@+id/thirdFragment" android:name="ru.myitschool.work.ThirdFragment" android:label="Third Fragment"> <!-- TODO: Реализовать здесь --> </fragment> ... ``` ## Дополнение Kotlin кода Далее необходимо написать дополнить код для взаимодействия с кнопками для перехода FirstFragment.kt ```kotlin ... override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val fromFirstToSecond: Button = view.findViewById(R.id.fromFirstToSecond) val fromFirstToThird: Button = view.findViewById(R.id.fromFirstToThird) // TODO: Создать переход при клике на кнопку с первого на второй фрагмент. Подробнее смотреть в файле навигации! // TODO: Создать переход при клике на кнопку с первого на третий фрагмент. Подробнее смотреть в файле навигации! } ``` ThirdFragment.kt ```kotlin ... override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val fromThirdToFirst: Button = view.findViewById(R.id.fromThirdToFirst) // TODO: Создать переход при клике на кнопку с третьего на первый фрагмент. Подробнее смотреть в файле навигации! } ```