foonfyrick, и ещё не забывай про восстановление состояния. Приложение уйдёт в фон, умрёт там, потом пользователь его откроет. При правильном подходе состояние восстановится правильно. А статистика умрёт.
foonfyrick, это самое простое и тупое решение. Глобальная статическая переменная, куда кто угодно может писать и читать. Очень плохо, сильно повышает связность кода, трудно поддерживать, трудно отлаживать. Сильно повышает вероятность утечки памяти. И что ты будешь делать, когда понадобится два и больше инстансов одного фрагмента, куда надо передать разные данные...
foonfyrick, первое, что бросается в глаза это заглушки тестов. Убери их. Пакет com.example тоже так себе. Публичные верхнеуровневые const val плохо. Хотя бы в object их. Разложение пакетов по назначению, а не по фичам плохо, не масштабируется, превращается в свалку.
Работа с ресайклером - очень плохо, переиспользовать это между разными экранами не получится, потому что иннер класс, сделать из этого список с несколькими видами элементов будет сложно.
Так и чего? Магии не бывает, в машине-то двигателя нет. В конструктор колеса пришли, а поле двигателя никто не инициализировал. обратишься к нему - будет NPE.
foonfyrick, так а где он заменяется-то? Ты бы сначала тему раскурил)
Смотри, в теге fragment у тебя указан фрагмент android:name="androidx.navigation.fragment.NavHostFragment"
Он является родительским для всех остальных участвующих в этом фрагментов, они находятся внутри него, и заменяются внутри него. Сам фрагмент остаётся на месте всегда.
Речь идёт о том, что если бы ты установил в xml непосредственно FirstFragment, и хотел руками его заменить на SecondFragment, то с fragment это у тебя не получилось бы, из а с FragmentContainerView получилось бы.
Короче, если использовать всё это так, то без разницы, чем пользоваться. Я бы даже сказал, что fragment предпочтительнее, тк там вложенность иерархии вью меньше получится.
А androidx.constraintlayout.widget.ConstraintLayout использовать с одним ребёнком это вообще зашквар. Можно его выкинуть и оставить один единственный тег в этом xml.