Android SafeArgs阵列不兼容

Android SafeArgs阵列不兼容,android,Android,我目前正在探索包括使用SafeArgs在内的方法,但我遇到了一个问题 我尝试在导航上设置数组参数 nav_graph.xml <fragment android:id="@+id/firstFragment"> <action android:id="@+id/action_firstFragment_to_secondFragment"> <argument android:name="args"

我目前正在探索包括使用SafeArgs在内的方法,但我遇到了一个问题

我尝试在导航上设置数组参数

nav_graph.xml

<fragment android:id="@+id/firstFragment">
    <action android:id="@+id/action_firstFragment_to_secondFragment">
        <argument
            android:name="args"
            app:argType="CustomModel[]" />
    </action>
</fragment>

<fragment android:id="@+id/secondFragment">
    <argument
        android:name="args"
        app:argType="CustomModel[]" />
</fragment>

MainActivity.java

private List<CustomModel> dataList = new ArrayList<>();

private void getData() {
    // Some API calls
    dataList.clear();
    dataList.addAll(result.data);
}

private void navigateToNextFragment() {
    navHostController.navigate(
            FirstFragmentDirections.actionFirstFragmentToSecondFragment(dataList)
    );
}
private List dataList=new ArrayList();
私有void getData(){
//一些API调用
dataList.clear();
dataList.addAll(result.data);
}
私有void navigateToNextFragment(){
导航主机控制器(
FirstFragmentDirections.actionFirstFragmentToSecondFragment(数据列表)
);
}
错误是
错误:不兼容类型:列表无法转换为CustomModel[]


感谢您的帮助。谢谢大家!

您应该这样定义您的模型:

@Parcelize
data class CustomModel(var name: String, val age: Int): Parcelable

@Parcelize
class CustomModels: ArrayList<CustomModel>(), Parcelable
@Parcelize
数据类CustomModel(变量名称:String,变量年龄:Int):可包裹
@包裹
类CustomModels:ArrayList(),可包裹
并在navgraph中定义:

 <argument
  android:name="customModels"
  app:argType="com.test.test.CustomModels"/>

列表不是数组。。。将列表转换为数组:
dataList.toArray(新的CustomModel[0])