Поэтому, когда я использовал frameLayout для обмена фрагментами с помощью диспетчера фрагментов, я мог сделать что-то вроде этого, чтобы отправить аргументы в новый выдвинутый фрагмент
class TestFragment : GenericFragment(R.layout.test_fragment) {
private var arg1: Int = 0
private lateinit var onResult : ( () -> Unit )
companion object {
fun newInstance(arg1 : Int, onResult: ( () -> Unit )) = TestFragment().apply {
this.arg1 = arg1
this.onResult = onResult
}
}
}
frag = TestFragment.newInstance(1) {
//some stuff to do when finished
}
val transaction = supportFragmentManager.beginTransaction()
transaction.replace(content.id, frag, tag)
transaction.commitAllowingStateLoss()
Вопрос в том, как мне сделать это с аркойкомпоненты навигации ( android.arch.navigation: навигация ).Я обнаружил, что вы можете отправлять только примитивные типы или некоторые типы Serializable.