Я программировал небольшое приложение чата и столкнулся со следующей ошибкой
Несоответствие типов Обязательный логический найденный класс
private fun fetchUsers() {
val ref = FirebaseDatabase.getInstance().getReference("/users")
ref.addListenerForSingleValueEvent(object: ValueEventListener {
override fun onDataChange(p0: DataSnapshot) {
val adapter = GroupAdapter<ViewHolder>()
p0.children.forEach {
Log.d("NewMessage", it.toString())
val user = it.getValue(User::class.java)
if (user != null) {
adapter.add(UserItem(user))
}
}
view_newMessage.adapter = adapter
}
override fun onCancelled(p0: DatabaseError) {
}
})
}
Ошибка происходит на следующая строка
val user = it.getValue(User::class.java)
Ошибка только недавно появилась, как и сегодня. Сегодня (25 апреля 2020 г.) она работала нормально
Класс пользователя выглядит следующим образом
class User(val uid: String, val username: String, val profileImageUrl: String) {
constructor() : this("", "", "")
}
Структура базы данных выглядит следующим образом
"users" : {
"p9fuXh6QiBdh50y7ysgm1xSNiiw1" : {
"profileImageUrl" : "https://firebasestorage.googleapis.com/v0/b/virdomessaging.appspot.com/o/images%2F44f1736d-581b-496d-89b3-3bdb72ab10b5?alt=media&token=8e4f03dc-4d58-48a6-9951-2daf3bb8f01a",
"uid" : "p9fuXh6QiBdh50y7ysgm1xSNiiw1",
"username" : "MattMcCann"
}
}