问题
The documentation discusses how to send simple integers and strings. For example:
<argument
android:name="myIntArg"
android:defaultValue="255"
app:argType="integer" />
In the origin Fragment:
val action = OriginFragmentDirections.myAction(myInt)
findNavController().navigate(action)
In the destination Fragment:
val receivedInt = DestinationFragmentArgs.fromBundle(arguments).myIntArg
But say instead of myIntArg
, I wanted to send a list of integers (myIntListArg
). How would I do that? What app:argType
would I use in my argument?
回答1:
By the time of writing. Array arguments are already added. Currently using 2.1.0-alpha04
That should be done like this
<argument
android:name="variableName"
app:argType="className[]"/>
Note that "className" must be set like "com.google.package.ClassName"
来源:https://stackoverflow.com/questions/53545369/how-to-pass-a-list-as-an-argument-to-a-fragment-using-navigation-component-safea