Android 底部导航视图没有';在转到不在底部导航视图内的片段并返回后,无法工作

Android 底部导航视图没有';在转到不在底部导航视图内的片段并返回后,无法工作,android,android-fragments,bottomnavigationview,android-architecture-navigation,android-bottomnav,Android,Android Fragments,Bottomnavigationview,Android Architecture Navigation,Android Bottomnav,所以我的应用程序的架构是独一无二的,顺便说一句,我使用的是导航组件 它有一个主活动,该活动有一个与关联的NavHostFragment。NavHostFragment有与其关联的导航图,导航图有两个片段:主片段(作为起始目标)和设置片段(可通过工具栏中的菜单项访问)现在,主片段充当另一个NavHostFragment的另一个主机。下面是它的样子: 以下是MainActivity.kt: 这是MainFragment.kt:问题出在我的MainFragment中 val bottomN

所以我的应用程序的架构是独一无二的,顺便说一句,我使用的是导航组件

它有一个主活动,该活动有一个与关联的NavHostFragment。NavHostFragment有与其关联的导航图,导航图有两个片段:主片段(作为起始目标)和设置片段(可通过工具栏中的菜单项访问)现在,主片段充当另一个NavHostFragment的另一个主机。下面是它的样子:


以下是MainActivity.kt:
这是MainFragment.kt:

问题出在我的MainFragment中

    val bottomNavBar by lazy {
        binding.bottomNavigationBar
    }

我应该使用
binding.bottomNavigationBar
everywhere直接引用bnv,而不是这样做。这就解决了问题。

如果您使用的是导航组件,那么您可以设置隐藏/显示底部导航视图的条件,以便在哪个片段中显示。这并不理想,因为我希望显示一个动画,使其感觉设置片段覆盖了底部导航栏。您也可以对片段应用动画。或者,您可以将动画设置为BottomView以使用动画隐藏,但我当前的方法有什么问题?我不明白为什么它不工作。看起来你的主导航控制器可能被重置了,或者我们需要调试它以找到真正的原因。