我有一个 ArrayMap,我想要一个聊天列表来创建和回收视图。
val chats : ArrayMap<String,Chat>? = ArrayMap()
RecyclerView.Adapter
class ChatAdapter(var chats : ArrayList<Chat>){
.
.
.
}
我从 firebase 得到这个 ArrayMap。获取 ArrayList 的最佳方法是什么?
我有一个 ArrayMap,我想要一个聊天列表来创建和回收视图。
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 }