В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
katyaaalovely
katyaaalovely
02.05.2023 12:26 •  Информатика

У вас есть список пользователей отображенный в RecyclerView. С сервера приходит обновленный вариант этого списка, в котором эти же пользователи расположены в другом порядке. Как анимировано применить эти изменения к RecyclerView?​

Показать ответ
Ответ:
Minikotik2007
Minikotik2007
03.05.2020 13:30

ответ:Для начала в 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()

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота