Firestore UI 中未解析的引用并显示它

unresolved reference in Firestore UI and display it

我正在使用 Firebase UI 在回收站视图中显示来自 Firestore.And 的数据,我希望此查询将显示在我的应用程序中,但我无法添加此引用。任何人都可以指导我吗? 我为我的应用程序 做了一个教程,但它已过期,我尝试自己做并学习很多东西,但有了这个我什么也做不了

MainACtivity.kt

package com.example.nfc

import android.content.Intent
import android.os.Bundle
import android.view.*
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.ktx.auth
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import com.firebase.ui.firestore.FirestoreRecyclerAdapter
import com.firebase.ui.firestore.FirestoreRecyclerOptions



data class User(
    val displayName: String = "",
    val emojis: String = ""
)

class UserViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)

class MainActivity : AppCompatActivity() {



    private val db = Firebase.firestore
    private lateinit var auth: FirebaseAuth

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        auth = Firebase.auth

        // Query the users collection
        val query = db.collection("users")
        val options = FirestoreRecyclerOptions.Builder<User>().setQuery(query, User::class.java)
            .setLifecycleOwner(this).build()
        val adapter = object: FirestoreRecyclerAdapter<User, UserViewHolder>(options) {
            override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): UserViewHolder {
             val view = LayoutInflater.from(this@MainActivity).inflate(android.R.layout.simple_list_item_2,parent,false)
                return UserViewHolder(view)
            }

            override fun onBindViewHolder(holder: UserViewHolder, position: Int, model: User) {
               val tvName: TextView=holder.itemView.findViewById(android.R.id.text1)
                val tvEmojis: TextView=holder.itemView.findViewById(android.R.id.text2)
                tvName.text = model.displayName
                tvEmojis.text = model.emojis
            }
        }
        uzytkownicy.adapter = adapter
        uzytkownicy.layoutManager = LinearLayoutManager(this)
//end
        val addButton = findViewById(R.id.addButton)as Button
        addButton.setOnClickListener{

            val intent = Intent(this, addtrasa::class.java)
            startActivity(intent)
        }
    }

   
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/szarytlo"
    tools:context=".MainActivity">

    

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rvUsers"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>



</androidx.constraintlayout.widget.ConstraintLayout>


那是我的错误

enter image description here

您没有在 MainActivity 中的任何位置将对象分配给 uzytkownicy,因此编译器不清楚它是什么类型的对象。从代码的上下文来看,您的意思似乎是 RecyclerView,并且您可能想使用 activity_main.xml 中的那个。如果是这样,您需要这样分配它:

val uzytkownicy: RecyclerView = findViewById(R.id.rvUsers)

然后您可以继续使用该引用来设置适配器和布局管理器,就像您已经在尝试做的那样。