【问题标题】:Dynamically change fragment destination in bottom navigation在底部导航中动态更改片段目的地
【发布时间】:2020-07-30 16:23:44
【问题描述】:

我正在使用带有导航组件架构的底部导航。 我想动态更改第一个片段目标。所以我有 Fragment1 和 Fragment2。我想在某些情况下,单击底部导航中的第一项打开 Fragment1,在其他情况下打开 Fragment2

【问题讨论】:

    标签: android bottomnavigationview android-jetpack


    【解决方案1】:

    你可以使用类似的东西:

        bottomNavigationView.setOnNavigationItemSelectedListener {
            if (it.itemId == ..){
                //navigate to Fragment1 or Fragment2
                true
            }
            //Trigger the original listener for the other items
            NavigationUI.onNavDestinationSelected(it, navController)
            true
        }
    

    【讨论】:

    • 嗯,Bottom Nav 在 Activity 内部,我认为导航方法对 Activity 不起作用。
    • 嗯,Bottom Nav 在 Activity 内部,我认为导航方法对 Activity 不起作用。
    • @SinaMN75 为什么?只需使用navControllerfindNavController().navigate(...)
    • 我知道,但是没有从 MainActivity(放置底部导航)到我想要的目标的导航 ID。
    • @SinaMN75 不清楚如何处理导航,但您的 MainActivity 应该托管一个 Fragment(顶级目的地)。
    猜你喜欢
    • 2021-12-03
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2020-11-13
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多