如何将不同的args传递到fragment〔navigation〕Android



我有4个片段,A、B、C、D从A,B,C我可以导航到D片段,我想从每个片段传递不同的args,比如

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

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

假设您是导航组件,则需要使D Fragment要求的所有参数都可以为null。通过这种方式,您可以仅将您需要的特定片段中的特定arg转发到D片段。为此,您需要对导航组件的xml文件进行更改,该文件通常称为nav_graph.xml

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

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


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

相关内容

  • 没有找到相关文章

最新更新