Kotlin 将Firebase Listview转换为Firestore Listview
我正在将我的应用程序从firebase转换为Firestore,因为我需要应用过滤器,但无法在实时数据库上执行 我有一个自定义的listview,它可以根据下面使用firebase的代码完美地工作。我在Firestore中复制了该结构,因此使生活更轻松,但似乎无法在Firestore上使用listviewKotlin 将Firebase Listview转换为Firestore Listview,kotlin,google-cloud-firestore,Kotlin,Google Cloud Firestore,我正在将我的应用程序从firebase转换为Firestore,因为我需要应用过滤器,但无法在实时数据库上执行 我有一个自定义的listview,它可以根据下面使用firebase的代码完美地工作。我在Firestore中复制了该结构,因此使生活更轻松,但似乎无法在Firestore上使用listview val dealRef = ref.child("Deal_Summary2").orderByChild("buyer_id").equalTo(userid) dealRef.ad
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(“交易摘要2”).whereEqualTo(“买家id”,用户id).get()
.addOnCompleteListener(){task->
if(task.issusccessful()){
val summary=ArrayList()
for(任务中的文档。结果!!){
添加(document.toObject(DealSummary::class.java))
}
val适配器=Mydeals\u买家\u适配器(
应用上下文,
R.layout.mydeals\u买方\u列表视图,
汇总表
)
listview.adapter=适配器
}否则{
Log.d(“Firestore\u错误”,“无数据”)
}
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")
}