【问题标题】:How pass different args to fragment [navigation] Android如何将不同的参数传递给片段 [导航] Android
【发布时间】:2021-12-29 03:28:52
【问题描述】:

我有 4 个片段,A,B,C,D FROM A,B,C 我可以导航到 D 片段,我想从每个片段中传递不同的参数,例如,

A.Direction.actionNavigation.D(int,String)
B.Direction.actionNavigation.D(float,Bool)
C.Direction.actionNavigation.D(double,String) and etc..

我可以在 D 片段参数中设置所有六个参数,但在这种情况下,我应该在每个方向上传递所有六个变量。那么有没有其他方法可以直接传递我想要在特定方向上的参数,然后在 D 片段中检索它

【问题讨论】:

    标签: java android android-fragments navigation android-safe-args


    【解决方案1】:

    假设您是 Navigation Component ,您需要将 D Fragment 要求的所有参数设置为可为空。这样,您可以仅将特定 arg 从您需要的特定片段转发到 D 片段。 为此,您需要更改有关导航组件的 xml 文件,通常称为 nav_graph.xml。

    <argument
                android:name="fromAtoD"
                app:argType="string"
                app:nullable="true"/>
    
    

    需要进行上述更改才能满足您的需求。您需要进行空检查以避免代码崩溃


    另一种方法是使用 Intent 并在 Intent 中传递捆绑包,不建议这样做,也不安全。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2017-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多