如何在android中以编程方式在片段之间导航?
Posted
技术标签:
【中文标题】如何在android中以编程方式在片段之间导航?【英文标题】:How to navigate between fragment programatically in android? 【发布时间】:2021-04-15 10:07:09 【问题描述】:背景:我通过选择 Navigation Drawer 模板和我的 MainActivity extends AppCompatActivity
创建了项目。
问题:我需要遍历/导航到另一个 UI 片段(比如说FragmentA
),以便在单击 UI fragmentB
中的按钮时获得结果。类似于startActivityForResult
。
我在MainAcitivty
中将navController
声明为公共变量,并尝试在片段中访问它并执行navController.navigate(MENU_ID);
,但没有成功。
有什么建议可以实现吗?
【问题讨论】:
当我必须使用它时它对我有用greenrobot.org/eventbus 【参考方案1】:您必须使用导航操作 ID 调用 navigate
或传递由 safeArgs
插件生成的 NavDirections
对象。这里有一个articlesafeArgs
的使用方法
安全参数示例
navController.navigate(
MoviesFragmentDirections.actionMoviesFragmentToMovieDetailFragment(movieId)
)
操作 ID 示例
navController.navigate(
R.id.action_movies_fragment_to_movie_detail_fragment
)
【讨论】:
以上是关于如何在android中以编程方式在片段之间导航?的主要内容,如果未能解决你的问题,请参考以下文章
如何在两个片段之间传递位图? (我正在使用 Android 导航组件)