在导航控制器中使用安全参数传递数据后,如何将 Array<(out) Event!> 与 ArrayList<Event> 相互转换?
how to convert Array<(out) Event!> to and from ArrayList<Event> after passing data using safe args in Navigation Controller?
-
android
-
android-navigation
-
android-jetpack
-
android-architecture-navigation
-
android-jetpack-navigation
我正在尝试使用安全参数将 ArrayList 数据从一个片段传递到另一个片段,这是参数
<argument
android:name="upcomingEvents"
app:argType="com.x.Models.Event[]" />
但是当我想使用安全参数传递数据时,出现了这个错误
据说
type mismatch.
required: Array<(out) Event!>
Found: ArrayList
如何将ArrayList<Event>
转换为Array<(out) Event!>
?
反之亦然,如何将Array<(out) Event!>
转换为ArrayList<Event>
?
Kotlin 为这两个操作内置了方法,即 toTypedArray()
and asList()
:
val upcomingEvents = currentUserData!!.upcomingEvents
val array = upcomingEvents.toTypedArray()
// On the other side
val array = ...
val list = array.asList()
android
android-navigation
android-jetpack
android-architecture-navigation
android-jetpack-navigation
我正在尝试使用安全参数将 ArrayList 数据从一个片段传递到另一个片段,这是参数
<argument
android:name="upcomingEvents"
app:argType="com.x.Models.Event[]" />
但是当我想使用安全参数传递数据时,出现了这个错误
据说
type mismatch.
required: Array<(out) Event!>
Found: ArrayList
如何将ArrayList<Event>
转换为Array<(out) Event!>
?
反之亦然,如何将Array<(out) Event!>
转换为ArrayList<Event>
?
Kotlin 为这两个操作内置了方法,即 toTypedArray()
and asList()
:
val upcomingEvents = currentUserData!!.upcomingEvents
val array = upcomingEvents.toTypedArray()
// On the other side
val array = ...
val list = array.asList()