0

我有一个 ArrayMap,我想要一个聊天列表来创建和回收视图。

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

RecyclerView.Adapter

class ChatAdapter(var chats : ArrayList<Chat>){
   .
   .
   .
}

我从 firebase 得到这个 ArrayMap。获取 ArrayList 的最佳方法是什么?

4

2 回答 2

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))
于 2017-07-03T05:31:31.560 回答
0

如果您不需要明确的 ArrayList,则可以使用如下ArrayMap.map()函数:

val chats : ArrayMap<String,Chat>? = ArrayMap()
val list : List<Chat> = chats.map { it.value }
于 2017-07-06T13:10:05.890 回答