【问题标题】:Navigate to specific fragments with navigation component使用导航组件导航到特定片段
【发布时间】:2022-11-28 04:46:49
【问题描述】:

我目前有这个nav_graph.xml 文件。

具有此导航树的 Activity A(父容器):

片段 A -> 片段 B -> 片段 C -> 片段 D -> 片段 E。

另外,我有一个 Activity B,我想从此 Activity 直接导航到 Fragment C。

有谁知道我如何为这种情况实现优雅的解决方案?

我以为我可以从 Activity B -> Activity A 启动一个意图,将其作为与所需片段相对应的额外枚举传递,并且 Activity A 将处理接收到的参数,通过一个动作导航到相应的片段。你怎么看?我认为它可以改进,这就是为什么我正在寻找第二种解决方案。谢谢!

【问题讨论】:

    标签: android android-fragments android-jetpack-navigation


    【解决方案1】:

    在你的两个活动中添加这个(你的导航主机片段)

    
    <androidx.fragment.app.FragmentContainerView
            android:id="@+id/nav_view_pager_host"
            android:layout_width="match_parent"
            android:layout_height="670dp"
            app:layout_constraintBottom_toTopOf="@+id/bottomNav"
            android:name="androidx.navigation.fragment.NavHostFragment"
            app:navGraph="@navigation/main_nav_graph"
            app:defaultNavHost="true"/>
    
    

    然后在您的活动 B onCreate() 中添加

    val navController = (supportFragmentManager.findFragmentById(R.id.nav_view_pager_host) as NavHostFragment).navController
    
    navController.navigate(/* To your fragment B*/)
    //Handle anything else you wanna ddo
    
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多