FirebaseRecyclerOptions 中的错误 setQuery

Error setQuery in FirebaseRecyclerOptions

我正在为这个错误而苦恼。我正在尝试使用 FirebaseRecyclerAdapter,在构建选项时,我在 FirebaseRecyclerOptions 中使用 SetQuery 时遇到此错误。任何线索?谢谢。

    None of the following functions can be called with the arguments supplied: 
    public open fun setQuery(p0: Query, p1: SnapshotParser<Tuto!>): 
    FirebaseRecyclerOptions.Builder<Tuto!> defined in 
    com.firebase.ui.database.FirebaseRecyclerOptions.Builder
    public open fun setQuery(p0: Query, p1: Class<Tuto!>): FirebaseRecyclerOptions.Builder<Tuto!> 
    defined in com.firebase.ui.database.FirebaseRecyclerOptions.Builder

这是我的代码:

firebaseDB = FirebaseFirestore.getInstance()

firebaseStorage = FirebaseStorage.getInstance()

val tutosRef = firebaseDB!!.collection("tutos")

val tutoQuery = tutosRef.limitToLast(50);

val options = FirebaseRecyclerOptions.Builder<Tuto>()
        .setQuery(tutoQuery,Tuto::class.java)
        .setLifecycleOwner(this)
        .build()


val adapter = object : FirebaseRecyclerAdapter<Tuto, TutoAdapter>(options) {
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TutoAdapter {
        return TutoAdapter(LayoutInflater.from(parent.context)
                .inflate(R.layout.tuto_holder, parent, false))
    }

    override fun onBindViewHolder(holder: TutoAdapter, position: Int, model: Tuto) {
        holder.bind(model)
    }


}

还有我的图托 class:

class Tuto{
var alias: String? = null
var title: String? = null
var description: String? = null
var owner: String? = null
var date_creation: Timestamp? = null
var steps_list: List<String>? = null
var steps_number: Int? = null

override fun toString(): String {
    val result: String
    result = """
           
           ${date_creation.toString()}
           $description
           $owner
           $steps_number
           $title
           
           """.trimIndent()
    return result
}
}

Firebase 提供两种数据库,Firestore 和实时数据库。它们是具有不同 API 的完全不同的数据库。您的代码正在查询 Firestore:

firebaseDB = FirebaseFirestore.getInstance()
val tutosRef = firebaseDB!!.collection("tutos")

但是您正在为实时数据库使用 Firebase UI:

val options = FirebaseRecyclerOptions.Builder<Tuto>()
        .setQuery(tutoQuery,Tuto::class.java)
        .setLifecycleOwner(this)
        .build()
val adapter = object : FirebaseRecyclerAdapter<Tuto, TutoAdapter>(options) {...}

您需要按照 Firebase UI for Firestore 的说明进行操作,其中涉及使用 FirestoreRecyclerAdapter