将ArrayMap转换为ArrayList – Kotlin
我有一个ArrayMap,我想要一个聊天列表创建和recyclerview。
val chats : ArrayMap<String,Chat>? = ArrayMap()
RecyclerView.Adapter
class ChatAdapter(var chats : ArrayList<Chat>){ . . . }
我从firebase获取这个ArrayMap。 获取ArrayList的最佳方式是什么?
你不应该在公共构造函数中使用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))
如果你不需要显式的ArrayList,你可以像这样使用ArrayMap.map()
函数:
val chats : ArrayMap<String,Chat>? = ArrayMap() val list : List<Chat> = chats.map { it.value }