BottomAppBar NavigationView FloatingActionButton навигационный компонент KOTLIN

#kotlin #android-fragments #bottomnavigationview #android-bottomappbar

#kotlin #android-фрагменты #bottomnavigationview #android-нижняя панель приложений

Вопрос:

Навигация из меню работает нормально, но когда я добавил FAB и попытался использовать в навигационном компоненте, он разбился.

Вот XML-файл моей нижней панели приложений:

Вот 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)
}