kotlin - 将 Firebase 列表视图转换为 Firestore 列表视图
问题描述
由于我需要应用过滤器并且无法在实时数据库上执行,我正在将我的应用程序从 firebase 转换为 Firestore。
我有一个自定义列表视图,它可以根据下面使用 firebase 的代码完美运行。我已经复制了 Firestore 中的结构,因此让生活更轻松,但似乎无法让列表视图在 Firestore 上工作。
val dealRef = ref.child("Deal_Summary2").orderByChild("buyer_id").equalTo(userid)
dealRef.addValueEventListener(object: ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
if(p0!!.exists()){
summarylist.clear()
for (e in p0.children){
val deal = e.getValue(DealSummary::class.java)
summarylist.add(deal!!)
}
val adapter = Mydeals_buyer_adapter(applicationContext,
R.layout.mydeals_buyer_listview,
summarylist
)
listview.adapter=adapter
}
}
})
我似乎被困在从 Firestore 中提取文档并将值存储到我的模型类DealSummary::class.java中。
我似乎无法在网上找到任何这样做的例子。
解决方案
弄清楚了:
docref = FirebaseFirestore.getInstance()
docref.collection("Deal_Summary2").whereEqualTo("buyer_id", userid).get()
.addOnCompleteListener() { task ->
if (task.isSuccessful()) {
val summary = ArrayList<DealSummary>()
for (document in task.result!!) {
summarylist.add(document.toObject(DealSummary::class.java))
}
val adapter = Mydeals_buyer_adapter(
applicationContext,
R.layout.mydeals_buyer_listview,
summarylist
)
listview.adapter = adapter
} else {
Log.d("Firestore_error", "No Data")
}
推荐阅读
- php - 根据 Laravel 中的用户角色对同一路由使用不同的控制器
- javascript - Vue JS props 甚至在父级中声明了 undefined
- php - 在 PHP 网站中使用“通用”导航栏重定向时遇到问题
- php - 4个表插入 - mysql
- python - 60 个倾斜的圆圈,中心有一个洞
- orange - Orange中的离散类变量是什么?
- ffmpeg - 将过滤器与普通选项相结合
- java - 难以执行此打印出时间的代码
- android - 为什么自定义 ArrayAdapter 不在 ListView 中显示 TextView
- hyperledger-fabric - Hyperledger Fabric:如何在 CORE_PEER_TLS_CLIENTROOTCAS_FILES 变量中指定超过 1 个 CA?