Butsan-Bagramyan
?>

Ребусы, первый уже решён, его делать не надо(у меня винчестер получилось, для проверки) ​

Информатика

Ответы

muzeynizhn

ответ:Для начала в onCreate() уберите эту строку:

chatContainer.clear()

Нет смысла чистить только созданный пустой список. Дальше я бы вам советовал следующим образом. Для начала при объявлении адаптера не нужно сразу ему передавать список:

lateinit var adapter: RecyclerChatAdapter

Дальше как только ваш список заполнен вы это проверяете в цикле и инициализируете адаптер:

when {

   documentSnapshot != null -> {

       for (dc in documentSnapshot.documentChanges) {

           when (dc.type) {

               DocumentChange.Type.ADDED -> {

                   val chat = dc.document.toObject(Chat::class.java)

                   chatContainer.add(chat) // Добавление данных в Recycler

                   if(chatContainer.size == documentSnapshot.documentChanges)

                   {

                       adapter = RecyclerChatAdapter(chatContainer)

                   }

               }

           }

       }

   }

}

и дальше сеттинг адаптера как и было у вас в вашем примере. Так же второй вариант как решить вашу проблему, но не уверен что получится, можно в цикле там где вы выводите сообщение в лог обновлять адаптер:

for (i in chatContainer) {

   adapter.notifyDataSetChanged()

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Ребусы, первый уже решён, его делать не надо(у меня винчестер получилось, для проверки) ​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

klykovav672
Кирилл_Гульницкий
denbelousov963
galinasemyan689
betepah
Sergeevna803
d2002
vasenkova1981
fymukham
krikriska84
alanatan5757
morozov1605
ЕлизаветаВладимирович
gorod7
Константин