【发布时间】:2020-05-22 22:30:35
【问题描述】:
我能够从 Firestore 中检索数据(它在 populateValletList() 的 GlobalScope 中绝对可用,并且我能够从 asnyc 数据库调用或简单地将 Vallet 添加到我的项目列表中填充我的 RecyclerView手动在populateValletList() 中,但是,当我想从 Firestore 数据填充该视图时,它不起作用。
RecyclerAdapter 中的 onBindViewHolder 不再被调用
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
when(holder){
is ValletViewHolder ->{
holder.bind(items[position])
}
}
}
这就是我填充我的项目 private var items : MutableList<Vallet> = ArrayList() 的方式:
fun populateValletList() {
GlobalScope.launch {
items = getAllValletsFromDatabase.executeUseCase()
}
}
我在 onActivityCreated 中初始化了我的 RecyclerView
private fun initRecyclerView(){
recycler_view_vallets.apply{
layoutManager = LinearLayoutManager(context)
addItemDecoration(ValletRecyclerAdapter.ValletItemDecorator(30))
valletAdapter = ValletRecyclerAdapter()
adapter = walletAdapter
}
valletAdapter.populateValletList()
}
这是我第一次使用协程,我在这里忽略了什么?
【问题讨论】:
标签: android firebase kotlin google-cloud-firestore coroutine