gpt4 book ai didi

android - 条件 fragment 和导航重用

转载 作者:行者123 更新时间:2023-12-02 16:49:14 26 4
gpt4 key购买 nike

给定代表同一实体的不同 UI 的 N 个 fragment 。 fragment 有条件地显示。该条件仅在运行时已知。每个 fragment 应该具有相同的导航流程。

如何使用导航架构组件 XML 图概括/抽象 fragment 中的导航流以进一步重用?目前,我只看到为每个 fragment 创建单独的目的地或嵌套导航的方法,但就重用而言,这是一个糟糕的想法。另一种选择是在 Kotlin/Java 代码中进行所有条件转换,但在这种情况下,应用程序的流程将不会在导航图模式中描述。有没有更好的方法来重用导航?

官方文档在这个主题上相当模糊:https://developer.android.com/topic/libraries/architecture/navigation/navigation-conditional

最佳答案

fragment 可以与导航架构组件一起重复使用,以保持代码高效。

例如,我的 HomeFragment 中有一个名为 ContentFragment 的嵌套子 Fragment,其中包含内容。我正在重新使用 ContentFragment 来显示在单独屏幕上启动的不同类型的内容。

  1. 在 NavGraph 设计工具中选择新目的地以添加 fragment 。 enter image description here

  2. 将参数传递到嵌套的 Fragment 和使用 NavGraph 启动的 Fragment 中,以便 Fragment 可以读取该参数并为每种情况提供适当的逻辑。

a) 对于嵌套的 fragment ,我通过 bundle 传递一个参数,就像在前导航组件时代使用 fragment 一样。

b) 对于新屏幕,我选择添加到导航图的 fragment ,然后单击参数部分中的 + 按钮。然后您可以关注 documentation用于使用导航组件添加参数。 enter image description here

关于android - 条件 fragment 和导航重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51042580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com