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 и нигде нет инициализации объектов?


Ответы (0 шт):