У меня есть HomeFragment, который включает в себя RecyclerView. Когда я нажимаю на элемент, я хочу go из HomeFragment в navigation/home_navigation.xml
в другой DictionaryFragment, который находится в navigation/dictionary_navigation.xml
, где DictionaryFragment является startDestination .
Я создал новое действие для вложенного navigation/dictionary_navigation.xml
графика, потому что мне нужно открыть startDestination:
Не знаю не знаю, как правильно перенести мои данные в DictionaryFragment , но это:
HomeFragment
wordPackAdapter = PackAdapter(context, Utils.dictionaryPacks) {
val bundle = Bundle().apply {
putInt("packId", it.index)
}
navigate(R.id.action_homeFragment_to_dictionary_navigation, bundle)
}
DictionaryFragment
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val bundle = requireActivity().intent.extras <---- null
}
Расширения
fun BaseFragment.navigate(
resId: Int,
bundle: Bundle? = null,
navOptions: NavOptions? = null
) {
NavHostFragment.findNavController(this).navigate(resId, bundle, navOptions)
}
не работает, потому что bundle равен нулю .
Я также использую Плагин SafeArgs, но, как я знаю, я не могу использовать DictionaryFragmentArgs.fromBundle () с startDestination.
Как я могу сделать это правильно?