【问题标题】:How to navigate between fragment programatically in android?如何在android中以编程方式在片段之间导航?
【发布时间】:2021-04-15 10:07:09
【问题描述】:

背景:我通过选择 Navigation Drawer 模板和我的 MainActivity extends AppCompatActivity 创建了项目。

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

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

有什么建议可以实现吗?

【问题讨论】:

标签: java android android-fragments navigation-drawer


【解决方案1】:

您必须使用导航操作 ID 调用 navigate 或传递由 safeArgs 插件生成的 NavDirections 对象。这里有一个articlesafeArgs的使用方法

安全参数示例

navController.navigate(
    MoviesFragmentDirections.actionMoviesFragmentToMovieDetailFragment(movieId)
)

操作 ID 示例

navController.navigate(
    R.id.action_movies_fragment_to_movie_detail_fragment
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多