загружать посты из firebase - PullRequest
0 голосов
/ 11 июня 2019

Я работаю над приложением, связанным с пожарной базой, которая извлекает данные из базы данных, получает неразрешенную ссылку dataSnapshot в файле Homefrag.kt и, чтобы быть очень точным в // загружаем сообщения из firebase fun LoadPostFromFireBase () {...}

очистить проект => перестроить => аннулировать кеш

fun LoadPostFromFireBase () {

    myRef.child("posts")
            .addValueEventListener(object : ValueEventListener {

                override fun onDataChange(p0: DataSnapshot  ) {

                    try {

                        listOfPost.clear()
                        listOfPost.add(Post("0","him","url"," ","add","addPost"))

                        var td= dataSnapshot!!.value as HashMap<String,Any>

                        for(key in td.keys){

                            var post= td[key] as HashMap<String,Any>

                            listOfPost.add(Post(key,
                                    post["postText"] as String,
                                    post["postImageURL"] as String
                                    ,post["postDate"] as String
                                    ,post["personName"] as String
                                    ,post["personID"] as String))


                        }


                        adapter!!.notifyDataSetChanged()
                    }catch (ex:Exception){}


                }

                override fun onCancelled(p0: DatabaseError) {

                }
            })
}

получение неразрешенных данныхSnapshot!

1 Ответ

0 голосов
/ 11 июня 2019

Вы ищете что-то, чего не существует.Посмотрите, что функция onDataChange дает вам через свои параметры.Я не знаю Kotlin, но я уверен, что, глядя на ваш синтаксис, вы получаете «p0» внутри onDataChange, но вы ищете объект dataSnapshot.

Вы можете это исправить,замена

var td= dataSnapshot!!.value as HashMap<String,Any>

на

var td= p0!!.value as HashMap<String,Any>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...