首页 > 解决方案 > 如何在android中以编程方式在片段之间导航?

问题描述

背景:我通过选择 Navigation Drawer 模板和我的MainActivity extends AppCompatActivity.

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

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

任何建议如何实现?

标签: javaandroidandroid-fragmentsnavigation-drawer

解决方案


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

安全参数示例

navController.navigate(
    MoviesFragmentDirections.actionMoviesFragmentToMovieDetailFragment(movieId)
)

操作 ID 示例

navController.navigate(
    R.id.action_movies_fragment_to_movie_detail_fragment
)

样本


推荐阅读