Kotlin, Тип Mistmatch Обязательный логический найденный класс <Class>* Проблема устранена * - PullRequest
0 голосов
/ 25 апреля 2020

Я программировал небольшое приложение чата и столкнулся со следующей ошибкой

Несоответствие типов Обязательный логический найденный класс

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"
  }
}

1 Ответ

0 голосов
/ 26 апреля 2020

У меня была похожая проблема этим утром. В Tools, AVD Manager, на виртуальном устройстве, которое вы используете, в столбце Actions вы можете стереть данные. Очистка данных исправила мою проблему. С уважением, Мартин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...