Случайным образом из интервала [1, 100]. Вычислите и выведите результат:
1. Сумму всех четных значений элементов массива (S1).
3. Значение наибольшего элемента в массиве (max).
2. Сумму всех нечетных значений элементов массива (S2).
4. Значение наименьшего элемента в массиве (min).
5. Сумму элементов массива,
ментов, взятых
значения которых меньше
30 (Sum).
аление элементов массиро о.
При автоматическом переводе могут возникнуть много проблем
в зависимости от контекста слова могут иметь разное значениеперевод пословиц, поговорок и прочих стандартных словосочетаний может не существовать на другом языке или может быть передан не верноотрицательные предложения могут перейти в положительныеигра слов часто непереводиманедостаток информации одного текста не может быть восполнен. Например в английском у глаголов нет родов, а в русском естьдругая причина потери смыслаэлектронный переводчик может не знать, как переводится слово или фраза, или не иметь всех вариантов переводаответ:Для начала в 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()
}