如何使用导航组件safeargs将列表作为参数传递给片段

JHo*_*zer 5 android android-jetpack android-architecture-navigation

文档讨论了如何发送简单的整数和字符串。例如:

<argument
    android:name="myIntArg"
    android:defaultValue="255"
    app:argType="integer" />
Run Code Online (Sandbox Code Playgroud)

在原始片段中:

val action = OriginFragmentDirections.myAction(myInt)
findNavController().navigate(action)
Run Code Online (Sandbox Code Playgroud)

在目标片段中:

val receivedInt = DestinationFragmentArgs.fromBundle(arguments).myIntArg
Run Code Online (Sandbox Code Playgroud)

但是要说而不是myIntArg,我想发送一个整数列表(myIntListArg)。我该怎么做?我app:argType会在论点中使用什么?

Car*_*rez 12

您可以像这样添加数组参数:

<argument
        android:name="variableName"
        app:argType="className[]"/>
Run Code Online (Sandbox Code Playgroud)

请注意,“className”必须设置为“com.google.package.ClassName”。