Android navigation contoller создание фрагмента с аргументами
У меня есть приложение на котлине, изначально для замены фрагментов я использовал
fun replaceFragment(fragment: Fragment, addStack: Boolean = true) {
/* Функция расширения для AppCompatActivity, позволяет устанавливать фрагменты */
if (addStack) {
APP_ACTIVITY.supportFragmentManager.beginTransaction()
.addToBackStack(null)
.replace(
R.id.data_container,
fragment
).commit()
} else {
APP_ACTIVITY.supportFragmentManager.beginTransaction()
.replace(
R.id.data_container,
fragment
).commit()
}
}
И вызывал соответственно
holder.itemView.setOnClickListener {
replaceFragment(OrderFragment(listOrders[holder.adapterPosition]))
}
Теперь когда я переделал всё на Navigation Controller я вообще потерял понимание как это работает.
Теперь при нажатии на holder в RecycleView я делаю
holder.itemView.setOnClickListener {
APP_ACTIVITY.navController.navigate(R.id.orderFragment)
}
Ну и соответственно я теперь не могу передать аргументы в конструктор. Я потерял много времени на попытку найти похожий рабочий пример, но к сожалению ничего похожего не нашёл. Везде примеры очень примитивные. Если есть рабочий выход из этой ситуации прошу помочь и предоставить рабочий пример кода.
Так же имеется провал в понимании обоих фрагментов кода. Если при первом случае, я создавал объект OrderFragment() и отправлял его как View для замены, то во втором случае я делаю это как-то через Navigation Drawer и нигде нет инициализации объектов?