ө мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп калайсындар мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп калайсындар мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп
Нет смысла чистить только созданный пустой список. Дальше я бы вам советовал следующим образом. Для начала при объявлении адаптера не нужно сразу ему передавать список:
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
и дальше сеттинг адаптера как и было у вас в вашем примере. Так же второй вариант как решить вашу проблему, но не уверен что получится, можно в цикле там где вы выводите сообщение в лог обновлять адаптер:
ө мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп калайсындар мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп калайсындар мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп
ответ:Для начала в 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()
}