替换后,我无法将抽屉导航菜单附加到 android 中的汉堡菜单 - 使用 kotlin

I cannot attach drawer navigation menu to hamburger menu in android after replacing it - using kotlin

我是 Kotlin 的新手,对 android 相对缺乏经验,我解决了很多我正在做的事情的问题,但现在我真的卡住了。

所以 - 当我启动应用程序时,应用程序的抽屉菜单工作正常,将其滑出侧面和单击汉堡包图标时都会打开。

我有两个菜单,一个在应用程序启动时使用,另一个在成功登录后向用户显示不同的项目。

到目前为止我已经成功地替换了菜单,link它的项目到正确的片段,阻止汉堡包成为返回导航的箭头。

现在除了汉堡菜单没有打开抽屉外,一切正常。

有谁知道我重新分配新菜单的文件中缺少什么? 如果有意义的话,登录恰好使用改造,所以 withContext ( Dispatchers.Main ) 是将那部分代码带回UI 线程(或者至少这是我为使其与 UI 一起工作所做的)

suspend fun selectMenu ( activity : AppCompatActivity, screenElements : MenuUtilScreenElementsWrapper )
{
    withContext ( Dispatchers.Main )
    {
        screenElements.navigationView.menu.clear()

        val navController              = activity.findNavController ( R.id.nav_host_fragment  )
        val drawerLayout: DrawerLayout = activity.findViewById      ( R.id.drawer_layout      )
        val navView: NavigationView    = activity.findViewById      ( R.id.nav_view           )

        if ( screenElements.menuToUse == EnvironmentConstants.CHANGE_MENU_TO_PUBLIC )
        {
            var appBarConfiguration = AppBarConfiguration (
                setOf
                    (
                        R.id.nav_login, R.id.nav_register, R.id.nav_about, R.id.nav_terms_and_conditions, R.id.nav_privacy
                    ), drawerLayout
            )
            activity.setupActionBarWithNavController           ( navController, appBarConfiguration )
            navView.setupWithNavController                     ( navController                      )

            screenElements.navigationView.inflateMenu ( R.menu.activity_public_drawer  )
            screenElements.navController.setGraph     ( R.navigation.public_navigation )
        }
        else
        {
            var appBarConfiguration = AppBarConfiguration (
                setOf
                    (
                        R.id.nav_decks, R.id.nav_flashcards, R.id.nav_search
                ), drawerLayout
            )
            activity.setupActionBarWithNavController           ( navController, appBarConfiguration )
            navView.setupWithNavController                     ( navController                      )

            screenElements.navigationView.inflateMenu ( R.menu.activity_members_drawer  )
            screenElements.navController.setGraph     ( R.navigation.members_navigation )
        }
    }
}

非常感谢您!

我放弃了替换菜单的尝试,我只是将两组菜单项分成两组并交替隐藏/显示它们(预登录与 post 登录“链接”到活动)