Android 在safeArgs中将ArrayList作为参数传递
我试图在使用safeArgs时将Android 在safeArgs中将ArrayList作为参数传递,android,kotlin,android-navigation,android-navigation-graph,android-safe-args,Android,Kotlin,Android Navigation,Android Navigation Graph,Android Safe Args,我试图在使用safeArgs时将ArrayList作为参数传递。但当我从serializable和build列表中选择ArrayList时,它会抛出这些异常 One type argument expected for class ArrayList<E : Any!> One type argument expected. Use 'ArrayList<*>' if you don't want to pass type arguments 类ArrayList需要一
ArrayList
作为参数传递。但当我从serializable和build列表中选择ArrayList时,它会抛出这些异常
One type argument expected for class ArrayList<E : Any!>
One type argument expected. Use 'ArrayList<*>' if you don't want to pass type arguments
类ArrayList需要一个类型参数
应为一个类型参数。如果不想传递类型参数,请使用“ArrayList”
我知道我必须为ArrayList设置数据类型,但我无法这样做,也没有从导航图屏幕设置safeArgs时的选项
在导航图XML中,代码生成为
<argument
android:name="teamsToAdd"
app:argType="java.util.ArrayList" />
有没有办法在导航图的XML中声明数据类型?试试以下方法:
<argument
android:name="teamsToAdd"
app:argType="string[]" />
并从具有以下内容的阵列返回:
parameterList.toTypedArray()
receivedArray.toList()
很好的解决方法。非常感谢,但我还是想知道是否有办法使用android studio提供的serializable。我看到了很多例子,其中可以使用定制的包(只需在nav graph XML中提到数据类的路径来代替argType),但是serializable会派上用场。希望谷歌能记录下这些细节