s1ngle0f
b4fe30358b
Some checks failed
Merge core/template-android-project to this repo / merge-if-needed (push) Failing after 15s
3.4 KiB
3.4 KiB
Практическая работа. Курс Kotlin. Практическая 3.8
Данная практическая работа направлена на реализацию переходов между фрагментами
Дополнение XML разметки
Первым делом необходимо дополнить разметку XML для корректного использования ссылок внутри Kotlin кода. Необходимые места для заполнения представлены ниже.
Реализовать фрагмент для навигации внутри файла activity_main.xml. Фрагмент должен растягиваться по родительскому объекту, иметь уникальный идентификатор @+id/nav_host_fragment
и обозначить параметр navGraph равный nav_graph
<?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
...
<fragment
android:id="@+id/thirdFragment"
android:name="ru.myitschool.work.ThirdFragment"
android:label="Third Fragment">
<!-- TODO: Реализовать здесь -->
</fragment>
...
Дополнение Kotlin кода
Далее необходимо написать дополнить код для взаимодействия с кнопками для перехода
FirstFragment.kt
...
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
...
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val fromThirdToFirst: Button = view.findViewById(R.id.fromThirdToFirst)
// TODO: Создать переход при клике на кнопку с третьего на первый фрагмент. Подробнее смотреть в файле навигации!
}