The fragment will receive a TaskComponentDependenciesProvider object via context, which will provide a TaskComponentDependencies object. And under the hood, just App will provide AppComponent.
В этом уроке:
- работаем с PreferenceFragment - используем Headers
В Уроках 71-75 мы рассматривали особый вид Activity – PreferenceActivity. Оно позволяет нам удобно работать с Preferences. ...
В этом уроке:
- работаем с DialogFragment
Продолжаем рассматривать наследников Fragment. DialogFragment – отличается от обычного фрагмента тем, что отображается как диалог и имеет соответствующие ...
В этом уроке:
- работаем с ListFragment
Вернемся к фрагментам. В Android есть несколько полезных классов – наследников класса Fragment. Мы рассмотрим несколько из них. Начнем с ListFragment. ...
... экранами.
До эпохи Compose мы в Activity использовали фрагменты, например: HomeFragment, OrdersFragment, ContactsFragment. Тем самым мы в одном Activity отображали разные экраны: Главный, Заказы, Контакты. ...
... TaskModule::class], dependencies = [AppComponent::class])
interface TaskComponent {
fun injectTasksFragment(tasksFragment: TasksFragment)
}
Теперь TaskComponent - это компонент, который рассчитывает, ...
... которые нужны только фрагменту TasksFragment. В нашем случае - это объекты TaskRepository и TaskApi. А вот Database давайте считать общим объектом, который может понадобиться в других модулях. Поэтому ...
Мы решаем пойти в сторону single-Activity архитектуры. У нас в модуле app есть MainActivity, которое будет отображать фрагменты. На замену TasksActivity будем создавать TasksFragment. Причем не в app, ...
... Hilt в приложении.
В новом проекте сделаем пример того же самого приложения с двумя Activity (OrderActivity и UserActivity) и фрагментом (OrderFragment). Но теперь Hilt все свои классы будет создавать ...
... А также в OrderActivity будем использовать фрагмент OrderFragment.
Чтобы пример получился максимально простым и понятным, мы пока не будем использовать модули и scope. О них поговорим позже, в отдельных ...
... Например, чтобы повторно не показывался Toast или SnackBar, когда View после пересоздания снова подключается к LiveData.
Основные компоненты
TaskDetailActivity, TaskDetailFragment - экран ...
... когда View после пересоздания снова подключается к LiveData.
Основные компоненты:
TasksActivity, TasksFragment - экран
TasksViewModel - логика
TasksRepository - данные
Схема ссылок ...
... мы создали вложенный граф с фрагментами fragment2 и fragment3. А в основном графе остался fragment1.
Теперь, находясь в fragment1 мы не можем сделать так:
navController.navigate(R.id.fragment2);
Будет ...
... велась в Activity, в котором находился контейнер NavHostFragment.
Код получения контроллера в Activity выглядит так:
navController = Navigation.findNavController(this, R.id.nav_host_fragment);
Но ...
В этом уроке разбираемся, как задавать параметры при навигации.
В графе у нас есть три основных объекта, у которых мы можем задавать параметры: это destination Fragment, destination Activity ...
... bundle = new Bundle();
bundle.putString("arg1", "value1");
bundle.putInt("arg2", 2);
navController.navigate(R.id.fragment2, bundle);
Создаем Bundle, наполняем аргументами и передаем в метод navigate вместе ...