将ArrayMap转换为ArrayList - Kotlin

时间:2017-07-03 05:23:54

标签: kotlin kotlin-android-extensions

我有一个ArrayMap,我想要一个Chat创建列表和recyclelerview。

urllib

RecyclerView.Adapter

val chats : ArrayMap<String,Chat>? = ArrayMap()

我从firebase获取此ArrayMap。获取ArrayList的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

你不应该在公共构造函数中使用ArrayList(因为那样你自己完全取决于那个实现)。应该是MutableList界面:

class ChatAdapter(var chats : MutableList<Chat>){

我认为ArrayMap通常为Map(因为我不知道该课程)。 你可以写

val chats : ArrayMap<String,Chat>? = ArrayMap()
// ... initialize the chat
val adapter = ChatAdapter(am.values.toMutableList())

如果您出于某种原因确实需要ArrayList课程,可以写

val adapter = ChatAdapter(ArrayList(am.values))

答案 1 :(得分:0)

如果您不需要显式的ArrayList,可以像这样使用ArrayMap.map()函数:

val chats : ArrayMap<String,Chat>? = ArrayMap()
val list : List<Chat> = chats.map { it.value }