首页 > 解决方案 > 在 com.example.inquiryhome.model.User.UserDoctor 类上找不到 E7Dap0gODdUrzBC0Dnkn2jfoCbh1 的设置器/字段

问题描述

我收到此错误 No setter/field for E7Dap0gODdUrzBC0Dnkn2jfoCbh1 found on class com.example.inquiryhome.model.User.UserDoctor

这是我从 firebase 接收数据的代码

 fun GetAllDoctor(): MutableLiveData<UserDoctor>{
    var liveData = MutableLiveData<UserDoctor>()
    auth = FirebaseAuth.getInstance()

    databaseReference = FirebaseDatabase.getInstance().reference
    databaseReference.child("users").addValueEventListener(object: ValueEventListener{
        override fun onDataChange(snapshot: DataSnapshot) {
            if(snapshot.exists()){
                for(doctor in snapshot.children){
                    var userDoctor: UserDoctor = snapshot.getValue(UserDoctor::class.java)!!


                        liveData.value = userDoctor

                }
            }
        }

        override fun onCancelled(error: DatabaseError) {
            Log.e(TAG, "$error")
        }

    })

    return liveData
}

这是我的班级用户医生

data class UserDoctor (

val Id: String = "",
val Name: String? = null,
val Last_name: String? = null,
val Email: String = "",
val Birth: String? = null,
val Speciality: String? = null,
//val Image_Profile: Bitmap,
val Squatur: String = ""



)

标签: androidkotlinfirebase-realtime-database

解决方案


您正在尝试Doctor从以下内容中读取/users

var userDoctor: UserDoctor = snapshot.getValue(UserDoctor::class.java)!!

那应该是:

var userDoctor: UserDoctor = doctor.getValue(UserDoctor::class.java)!!

推荐阅读