Kotlin 将Firebase Listview转换为Firestore Listview

Kotlin 将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

我正在将我的应用程序从firebase转换为Firestore,因为我需要应用过滤器,但无法在实时数据库上执行

我有一个自定义的listview,它可以根据下面使用firebase的代码完美地工作。我在Firestore中复制了该结构,因此使生活更轻松,但似乎无法在Firestore上使用listview

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")
            }