【发布时间】:2018-09-24 16:28:21
【问题描述】:
我想在从 Firestore 添加或删除文档时实时更新 Recyclerview。我在 Kotlin:
中使用了这个逻辑 for (doc in docs!!.documentChanges) {
val classElement: FireClassModel=doc.document.toObject(FireClassModel::class.java)
if (doc.type == DocumentChange.Type.ADDED) {
adapterList.add(classElement)
} else if(doc.type == DocumentChange.Type.REMOVED){
adapterList.remove(classElement)
}
adapter.notifyDataSetChanged()
}
添加文档时它工作正常,但删除数据时它不起作用。它没有错误,但不会实时更新。它仅在我重新启动应用程序时更新。
更新
FireClassModel:
class FireClassModel {
var classID: String = ""
var className: String = ""
}
我试过这个classesList.contains(classElement),它返回错误。这意味着我无法比较 ArrayList 中的对象。
【问题讨论】:
-
您说“删除数据时它不起作用”。你有错误吗?
-
没有错误但不会实时更新..
-
“它不会实时更新”但它确实以任何其他方式更新?还是根本不更新?
-
当我重新启动应用程序时它会更新。
-
在这种情况下,请更新您的问题并添加更多代码,例如您使用上述代码的地方。
标签: android firebase kotlin google-cloud-firestore