将 ArrayMap 转换为 ArrayList - Kotlin
Convert an ArrayMap to ArrayList - Kotlin
我有一个 ArrayMap,我想要一个要创建的 Chat 列表和 recyclerview。
val chats : ArrayMap<String,Chat>? = ArrayMap()
RecyclerView.Adapter
class ChatAdapter(var chats : ArrayList<Chat>){
.
.
.
}
我从 firebase 得到这个 ArrayMap。获取 ArrayList 的最佳方法是什么?
您不应该在 public 构造函数中使用 ArrayList(因为这样您就完全依赖于该实现)。应该是MutableList
接口:
class ChatAdapter(var chats : MutableList<Chat>){
我猜 ArrayMap
是一个普通的 Map
(因为我不知道 class)。
你可以只写
val chats : ArrayMap<String,Chat>? = ArrayMap()
// ... initialize the chat
val adapter = ChatAdapter(am.values.toMutableList())
如果出于某种原因你真的需要ArrayList
class,你可以写
val adapter = ChatAdapter(ArrayList(am.values))
如果您不需要明确的 ArrayList,您可以像这样使用 ArrayMap.map()
函数:
val chats : ArrayMap<String,Chat>? = ArrayMap()
val list : List<Chat> = chats.map { it.value }
我有一个 ArrayMap,我想要一个要创建的 Chat 列表和 recyclerview。
val chats : ArrayMap<String,Chat>? = ArrayMap()
RecyclerView.Adapter
class ChatAdapter(var chats : ArrayList<Chat>){
.
.
.
}
我从 firebase 得到这个 ArrayMap。获取 ArrayList 的最佳方法是什么?
您不应该在 public 构造函数中使用 ArrayList(因为这样您就完全依赖于该实现)。应该是MutableList
接口:
class ChatAdapter(var chats : MutableList<Chat>){
我猜 ArrayMap
是一个普通的 Map
(因为我不知道 class)。
你可以只写
val chats : ArrayMap<String,Chat>? = ArrayMap()
// ... initialize the chat
val adapter = ChatAdapter(am.values.toMutableList())
如果出于某种原因你真的需要ArrayList
class,你可以写
val adapter = ChatAdapter(ArrayList(am.values))
如果您不需要明确的 ArrayList,您可以像这样使用 ArrayMap.map()
函数:
val chats : ArrayMap<String,Chat>? = ArrayMap()
val list : List<Chat> = chats.map { it.value }