如何在android中以编程方式在片段之间导航?

时间:2021-01-10 05:26:03

标签: java android android-fragments navigation-drawer

背景:我通过选择导航抽屉模板和我的 MainActivity extends AppCompatActivity 创建了项目。

问题:我需要遍历/导航到另一个 UI 片段(比方说 FragmentA),以便在点击 UI fragmentB 中的按钮时获得结果。类似于 startActivityForResult 的东西。

我在 navController 中将 MainAcitivty 声明为公共变量,并尝试在片段中访问它并执行 navController.navigate(MENU_ID);,但没有成功。

有什么建议可以实现吗?

1 个答案:

答案 0 :(得分:0)

您必须使用导航操作 ID 调用 navigate 或传递由 NavDirections 插件生成的 safeArgs 对象。这是关于如何使用 safeArgs

的一个 article

安全参数示例

navController.navigate(
    MoviesFragmentDirections.actionMoviesFragmentToMovieDetailFragment(movieId)
)

操作 ID 示例

navController.navigate(
    R.id.action_movies_fragment_to_movie_detail_fragment
)

sample