NavHostFragment:工具栏上的导航图标不起作用(即菜单、NavigationUp 图标)

Posted

技术标签:

【中文标题】NavHostFragment:工具栏上的导航图标不起作用(即菜单、NavigationUp 图标)【英文标题】:NavHostFragment: Navigation icons at Toolbar not working (ie Menu, NavigationUp icons) 【发布时间】:2021-09-24 01:20:00 【问题描述】:

我正在升级我的应用以支持平板电脑。目前已将此应用到我的项目中:

implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0-alpha03"

根据文档,为了能够应用双窗格,我需要使用 NavHostFragment。

但是,我的 MainActivity 的默认 NavHost 出现问题。

当我使用下面的代码时,我的导航工具栏上的图标正在工作

val navController = findNavController(R.id.nav_host_fragment_content_main)

但是当我使用 NavHostFragment 时,它会导致图标无法正常工作。请参阅下面的代码。

val navHostFragment = supportFragmentManager.findFragmentById(
        R.id.nav_host_fragment_content_main) as NavHostFragment
val navController = navHostFragment.navController

有什么解决办法吗?

【问题讨论】:

【参考方案1】:

已经解决了。问题出在我的活动onOptionsItemSelected,它返回true

当我使用 return super.onOptionsItemSelected(item) 时已修复。

【讨论】:

以上是关于NavHostFragment:工具栏上的导航图标不起作用(即菜单、NavigationUp 图标)的主要内容,如果未能解决你的问题,请参考以下文章

NavHostFragment:使用导航抽屉重新打开更改的片段

如何在更改全屏/上方导航时使用导航组件 navhostfragment

单击工具栏上的汉堡包图标不会打开导航抽屉

Navigation导航组件的使用:内容承载容器NavHostFragment加载原理

Android NavHostFragment(片段)膨胀失败,ViewBinding(使用导航组件)

工具栏导航汉堡图标丢失