Cześć, chcę odczytać dane obecnie zalogowanego użytkownika i je wyświetlić we fragmencie. Próboję
fun setUserData(binding: FragmentProfileBinding) {
FirebaseDatabase.getInstance().reference
.child("Users")
.child(FirebaseAuth.getInstance().currentUser.toString())
.addValueEventListener(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
for(item in snapshot.children){
val modelUser: User = item.getValue(User::class.java)!!
binding.apply {
presentationTextView.text = modelUser.presentation
displayAgeTv.text = modelUser.age
displayCountryTv.text = modelUser.country
displayEmailTv.text = modelUser.email
}
if(modelUser.image.isNullOrEmpty()) {
Log.e("UserProfileModelView", "Loading profile image error")
}else{
imageProcessing.setImage(modelUser.image.toString(), binding.profileImage)
}
}
}
override fun onCancelled(error: DatabaseError) {
messaging.showToast("error", error.message)
}
})
}
ale wywala błąd: can not convert object of type string to user
Gdy zamienie pierwsze 3 linijki na
FirebaseDatabase.getInstance().getReference("Users")
działa bez problemu tylko, że wyświetlają się dane pierwszego(tego na samym dole) użytkownika w bazie danych.
W czym może być problem? Próbowałem wieloma sposobami i cały czas coś nie gra ?
open class User(
var name: String="",
var uid: String= "",
var email: String="",
var image: String="",
var age: String=""
)