Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass a List as an argument to a Fragment using Navigation Component safeargs

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?

like image 893
JHowzer Avatar asked Nov 29 '18 18:11

JHowzer


1 Answers

You can add array arguments like this:

<argument
        android:name="variableName"
        app:argType="className[]"/>

Note that "className" must be set like "com.google.package.ClassName".

like image 159
Carlos Perez Perez Avatar answered Sep 29 '22 02:09

Carlos Perez Perez