安全参数之间的差异生成导航方向类与操作ID



我正在学习导航组件,我只是想知道两个之间的区别

view.findNavController().navigate(R.id.action_gameFragment_to_gameWonFragment)

view.findNavController().navigate(GameWonFragmentDirections.actionGameWonFragmentToGameFragment())

使用Safe args generates nav direction classes是否更有效???

阅读文档还不错

建议在目的地之间导航的方法是使用Safe Args Gradle插件。该插件生成简单的对象和构建器类,这些类支持类型安全导航和在目的地之间传递参数。

SafeArgs是一个Gradle插件,允许您在导航图中输入有关要传递的参数的信息。然后它会为您生成代码,代表您为这些参数创建一个Bundle,并从该Bundle中提取它们,以便您可以使用它们

因此,当你想在片段之间传递数据时,建议使用safeArgs(我们要维护的代码更少,为你的参数键入安全(,但你仍然可以使用原始Bundle来实现这一点。

总之,如果你想从一个片段导航到另一个片段,你可以使用上面提到的任何方法,结果都没有差异。如果你也想在它们之间传递数据,SafeArgs只需生成导航所需的代码,就可以让更容易地管理数据传输

最新更新