#kotlin #android-fragments #bottomnavigationview #android-bottomappbar
#kotlin #android-фрагменты #bottomnavigationview #android-нижняя панель приложений
Вопрос:
Навигация из меню работает нормально, но когда я добавил FAB и попытался использовать в навигационном компоненте, он разбился.
Вот XML-файл моей нижней панели приложений:
Мой вопрос в том, как я мог бы использовать навигационный компонент для элементов (избранное, голос IDD) ?.
Я использовал это.
favouritesFab.setOnClickListener {
navController.navigate(R.id.action_homeFragment_to_balanceAndRechargeFragment)
}
Он работает, если я нахожусь только в «Home», тогда, если я перейду в другое меню, он выйдет из строя, также, если я нахожусь в другом меню, например: («Использование» или «Учетные записи») и попытался щелкнуть «Избранное», он также выйдет из строя, и результат будетэто.
java.lang.IllegalArgumentException: Navigation action/destination org.multisys.dst.stg:id/action_homeFragment_to_balanceAndRechargeFragment cannot be found from the current destination Destination(org.multisys.dst.stg:id/linkedAccountListsFragment) label=linked_accounts_list_fragment class=org.multisys.dst.ui.linkedaccounts.ui.LinkedAccountListsFragment
Как я могу использовать элементы в FAB для навигации, как в меню, используя компонент навигации?
Спасибо.
Ответ №1:
Происходит сбой, потому что используемым вами действием является R.id.action_homeFragment_to_balanceAndRechargeFragment, и когда вы пытаетесь перейти из любого фрагмента, отличного от HomeFragment, он завершится сбоем, поскольку текущее назначение будет отличаться, например («Использование» или «Учетные записи»).
Так что это можно решить с помощью
favouritesFab.setOnClickListener {
navController.navigate(R.id.balanceAndRechargeFragment)
}