You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Navigation Component实现侧边抽屉菜单项点击跳转指定Fragment

解决方法

按照以下步骤操作即可实现需求:

  • 首先配置导航图
    打开res/navigation/mobile_navigation.xml文件,确认Order Fragment已经被添加为导航目的地,给它设置唯一id,示例配置如下:
<fragment
    android:id="@+id/orderFragment"
    android:name="你的包名.OrderFragment"
    android:label="订单页面" />
  • 然后匹配抽屉菜单项的id
    打开res/menu/drawer_menu.xml,找到Orders选项对应的菜单项,将它的android:id设置为和导航图中Order Fragment完全相同的id:
<item
    android:id="@+id/orderFragment"
    android:title="Orders" />

你已经在代码中调用了NavigationUI.setupWithNavController(nav_view, navController),只要两个id完全匹配,Navigation组件会自动处理点击跳转逻辑,无需额外编写跳转代码。

如果需要点击跳转后自动收起导航抽屉,可以在MainActivity的onCreate方法中追加以下代码:

nav_view.setNavigationItemSelectedListener { menuItem ->
    val navResult = NavigationUI.onNavDestinationSelected(menuItem, navController)
    if (navResult) {
        drawer_Layout.closeDrawer(GravityCompat.START)
    }
    navResult
}

注意需要导入依赖包:import androidx.core.view.GravityCompat

内容的提问来源于stack exchange,提问作者SasidharanIOS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:45:04